IOS - 技术教程文章

带着大家走进iOS单元测试世界【代码】【图】

摘要今天给大家着重介绍一下单元测试,很多人可能没有听过单元测试或者是只是听说过,而没有实际的去实践过,没有关系,今天就给大家普及普及这方面的知识,并且带着大家进行实践,切身体验一下单元测试好处. 如果一个移动端的开发人员对单元测试不去重视他,这种开发人员往往表现一种“无知的自信”,总觉得自己写的代码质量很高,直到一次次虫子(Bug)把自己咬的头破血流时,出现重大问题时,才发现原来自己的代码已经到了剪不断理还乱的...

IOS如果将一个十六进制的color转换成UIColor,很实用

UI给开发的效果图很多时候标注着十六进制的Color,而程序中用到的往往是UIColor可以用如下方法去转换:(UIColor *)RGBColorFromHexString:(NSString *)color alpha:(float)alpha { //color的值类似#fffeee,alpha的值类似1.0为透明度int nums[6] = {0};for (int i = 1; i < [color length]; i++) {int temp = [color characterAtIndex:i];if (temp >= '0' && temp <= '9') {nums[i-1] = [color characterAtIndex:i] - '0';}else if(te...

.net平台借助第三方推送服务在推送Android,IOS消息(极光推送_V3版本)最新【代码】

最近刚从极光推送官网上看到V2版本要停用,不得不有重新写V3版本的。这里用到了 HTTP Basic Authentication http://www.cnblogs.com/pingming/p/4165057.html1、首先需要将你的app在极光官网上进行注册,获取一个ApiKey,一个APIMasterSecret(密码),将这两个值保存在配置文件(app/web.config)中,具体手机开发端需要做什么操作我们.net平台不管<appSettings><add key="ApiKey" value="**********"/><add key="APIMasterSecret...

axios封装【代码】【图】

1.axios官网:http://www.axios-js.com/2.案例执行 GET 请求// 为给定 ID 的 user 创建请求 axios.get(‘/user?ID=12345‘).then(function (response) {console.log(response);}).catch(function (error) {console.log(error);});// 上面的请求也可以这样做 axios.get(‘/user‘, {params: {ID: 12345}}).then(function (response) {console.log(response);}).catch(function (error) {console.log(error);});执行 POST 请求axios....

李洪强iOS开发之添加手势【图】

李洪强iOS开发之添加手势02 - 添加手势 原文:http://www.cnblogs.com/LiLihongqiang/p/5836574.html

iOS开发之单例模式

1、概述单例模式是一种常用的软件设计模式,通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望系统中某个类的对象只能存在一个,单例模式是最好的解决方案,iOS中最常见的单例就是UIApplication 。应用场景:音频播放,背景音乐!硬件资源:加速器、[UIScreen mainScreen]一般都是通过sharedXX, mainXXX去获得这个单例对象。常见面试题:手写单例优点:可以...

IOS-CoreLocation【代码】

一、简介在移动互联网时代,移动app能解决用户的很多生活琐事,比如导航:去任意陌生的地方周边:找餐馆、找酒店、找银行、找电影院 在上述应用中,都用到了地图和定位功能,在iOS开发中,要想加入这2大功能,必须基于2个框架进行开发Map Kit :用于地图展示Core Location :用于地理定位 2个热门专业术语LBS :Location Based Servicep、SoLoMo :Social Local Mobile(索罗门) CoreLocation框架使用须知CoreLocation框架中所有...

IOS 自定义Operation(下载功能)【代码】

一个下载操作就交给一个HMDownloadOperation对象HMDownloadOperation.h / .m@class HMDownloadOperation;@protocol HMDownloadOperationDelegate <NSObject> @optional - (void)downloadOperation:(HMDownloadOperation *)operation didFinishDownload:(UIImage *)image; @end@interface HMDownloadOperation : NSOperation @property (nonatomic, copy) NSString *url; @property (nonatomic, strong) NSIndexPath *indexPath; @p...

右滑返回ios【代码】【图】

【转载请注明出处】iOS 7中在传统的左上角返回键之外,提供了右滑返回上一级界面的手势。支持此手势的是UINavigationController中新增的属性interactivePopGestureRecognizer,即右滑返回只支持以UINavigationController为容器的ViewController间切换,要想在自定义容器中使用,需要一些额外的工作。基本地,控制ViewController是否启用右滑返回,只需要这样: .navigationController.interactivePopGestureRecognizer.enabled = ;...

iOS 判断iPhone机型的方法【代码】

+ (BOOL)isNotIphone3G {static BOOL done = FALSE;static BOOL result;if (!done) {size_t size;sysctlbyname("hw.machine", NULL, &size, NULL, 0);char *machine = malloc(size);sysctlbyname("hw.machine", machine, &size, NULL, 0);NSString *platform = [[NSString alloc] initWithUTF8String:machine];free(machine);result = ![platform isEqualToString:@"iPhone1,2"];done = TRUE;}return result; } 以上是以objective—...

IOS_画图 图片等比压缩 IOS_UIImage【代码】【图】

- (UIImage *)scaleToSize:(UIImage *)img size:(CGSize)size{ // 创建一个bitmap的context // 并把它设置成为当前正在使用的context UIGraphicsBeginImageContext(size); // 绘制改变大小的图片 [img drawInRect:CGRectMake(0,0, size.width, size.height)]; // 从当前context中创建一个改变大小后的图片 UIImage* scaledImage =UIGraphicsGetImageFromCurrentImageContext(); // 使当前的context出堆...

[bug] JS sort 函数在 ios 中无效【代码】【图】

首先,请原谅我做一次标题党;但我觉得从发现问题到最后解决问题的过程还是蛮有意思的,特此记录一下;背景近两天开发的航班延误宝是内嵌在客户端(android、ios)webview 中的 H5 页面。其中有部分内容需要前端排序后再显示。代码很简单: let m = [6,4,8,10,3,5]console.log(‘排序前:‘, [6,4,8,10,3,5])m.sort((a, b) => a < b)console.log(‘排序后:‘, m)ps:发现这段代码的问题了么?如果你知道原因,为了节省您宝贵的...

iOS 添加微信分享【图】

微信官方文档:http://open.weixin.qq.com/document/sdk/ios/index.html微信SDK下载:http://open.weixin.qq.com/download/?lang=zh_CN 1、将SDK文件中包含的libWeChatSDK.a,WXApi.h, WXApiObject.h三个文件添加到你所建的工程中。 2、选择你的工程设置项,选中“TARGETS”一栏,在“info”标签栏的“URL type“添加“URL scheme”为你所注册的应用程序id 3、在 AppDelegate 中注册应用id,并添加微信的代理 // AppDelegate.h#imp...

iOS UIKit x Android Widget【图】

Android的事件回调Listener相当于iOS的delegate回调。Android的事件回调接口Listener相当于iOS的protocol回调协议。Android的UI容器(AdapterView)使用的Adapter相当于iOS的UI容器的datasource。原文:http://www.cnblogs.com/bbqzsl/p/6368799.html

iOS开发:发出系统的声音!发出自己的声音!

这个链接非常详尽地列举了IOS7里面所有的系统声音,声音的ID,声音的存放位置尽管现在已经是ios8的时代,但是系统声音这个东东不会因此过时,毕竟声音就那几十种,不会一下子有太大变化。https://github.com/TUNER88/iOSSystemSoundsLibrary这个stackoverflow里面有一些比较有用的信息和链接,包括怎样播放系统声音,怎样查看refhttp://stackoverflow.com/questions/7831671/playing-system-sound-without-importing-your-own还有一...

iOS唯一标示符引导

本文转载至 http://www.cocoachina.com/industry/20130422/6040.htmlunique Identifier即将退出,苹果给了我们Vendor和Advertising identifier两个选择,但应该用哪一个?文档并没有给出确切答案,具体使用哪个完全由你根据自己app的目的来决定。“” 阅读器 在2013年3月21日苹果已经通知开发者,从2013年5月1日起,访问UIDID的应用将不再能通过审核,替代的方案是开发者应该使用“在iOS 6中介绍的Vendor或Advertising标示符”...

ios上 更改 状态栏(UIStatusBar)的颜色【代码】【图】

IOS上 关于状态栏的相关设置(UIStatusBar)知识普及iOS上状态栏 就是指的最上面的20像素高的部分 状态栏分前后两部分,要分清这两个概念,后面会用到:前景部分:就是指的显示电池、时间等部分;背景部分:就是显示黑色或者图片的背景部分; 如下图:前景部分为白色,背景部分为黑色 注意:这里只涉及到ios7以及更高版本,低版本下面的讲解可能无效。设置statusBar的【前景部分】 简单来说,就是设置显示电池电量、时间、网络部分标...

iOS-----openGL--openGL ES iOS 入门篇3---> 纹理贴图(texture)【代码】

在这篇文章中,我们将学习如何在openGL中使用纹理贴图。penGL中纹理可以分为1D,2D和3D纹理,我们在绑定纹理对象的时候需要指定纹理的种类。由于本文将以一张图片为例,因此我们为我们的纹理对象绑定一个GL_TEXTURE_2D的纹理。本文将分为两个部分,一部分是如何通过图片获取一个2D的纹理,另一部分是如何使用一个纹理。在上一篇中,我们介绍了如何使用shader来绘制一个多边形,本文是基于上一篇的提高,我们也将继续使用shader,对...

iOS alipay sdk(支付宝) web(wap/网页)回调黑屏,不完美解决方案

不完美解决方案...(黑屏1秒恢复...) 原创保留:http://www.cnblogs.com/Leetvin/p/3932865.html原因:wap回调 如果加入UINavigationController就会黑屏#if ! __has_feature(objc_arc) self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease];#else self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];#endif self.na...

iOS开发之Objective-c的AES加密和解密算法的实现【代码】

原文:http://www.lidaren.com/archives/1470高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法。 以下实现代码中分别为NSData和NSString增加了一个Category。使用时直接调用即可。需要注意的是,AES并不能作为HASH算法,加密并解密后的结果,并不一定与原文相同,使用时请注意进行结果验算。例如解密原文的长度,格式规则等。 NG实例原文:170987350 密码:170 Objective-c的AES加密和解密算法的具体实现代...

iOS9 HTTPS【代码】【图】

原文地址: https://github.com/ChenYilong/iOS9AdaptationTips 关于App Transport Security,每个应用都属于4个大类当中的一类。我们来看看每一个大类都是怎样影响应用的。--分类名解释1.HTTPS Only (只有HTTPS,所有情况下都使用ATS)如果你的应用只基于支持HTTPS的服务器,你的应用不需要做任何改变。但是,注意App Transport Security要求TLS 1.2,而且它要求站点使用支持forward secrecy协议的密码。证书也要求是符合ATS规格的...

2015年iOS开发总结

从我开始接触iOS到现在已经有一年的时间了,刚好年末总结一下。  我是去年11月份培训的,在培训公司苦逼的学习了4个月之后,找到了第一家公司,是个外包公司,在里面还是学到了很多东西,产品的需求,设计,框架搭建,代码实现,各种第三方,share分享,短信,百度高德地图,环信,极光推送等,基本上大部分市面上的app都有涉及,也成功上架了几个不同类型的app,可以说项目方面有一定经验吧,其实我觉得在外包公司写代码有两种:...

iOS播放音乐【代码】

http://www.jianshu.com/p/ce279bc773dd iOS播放音乐、后台播放、控制台控制相关的一些TIPS,基于StreamingKit字数963 阅读595 评论0 喜欢9首先给大家放一个StreamingKit的链接简单的播放使用例子,可以看开源作者的演示demo。由于整个播放器涉及到UI啊数据啊比较多,所以就不全抠下来当demo了,就在这里列一点TIPS,希望能帮助到大家。歌曲播放形式我是这么写的:.h里: /**歌曲播放形式*/ typedef enum : NSUInteger {MBAudioPla...

iOS-PYSearch完美搜索页【图】

APP搜索页基本上是少不了的,热门搜索、搜索记录等;这里推荐一个大牛ko1o写的:PYSearch,他还有一个不错的图片浏览开源:PYPhotoBrowser;这个也不错,感兴趣的可以了解下;下面说下PYSearch的主要功能及(原Gitdemo)效果; 热门搜索风格PYHotSearchStyleDefaultPYHotSearchStyleColorfulTag PYHotSearchStyleBorderTag PYHotSearchStyleARCBorderTag PYHotSearchStyleRankTag PYHotSearchStyleRectangleTag 搜索历史风格PYSe...

iOS 消息(即方法调用)的两个隐藏参数 :self 和 _cmd【代码】

iOS 消息(即方法调用)的两个隐藏参数太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)本文遵循“署名-非商业用途-保持一致”创作公用协议转载请保留此句:太阳火神的美丽人生 - 本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。以下摘自《Objective-C Runtime Programming Guide》使用隐藏参数 Using Hidden Arguments When objc...

IOS开发--第四阶段--真机调试与上传应用

苹果三种账号的区别:1,个人开发者账号,直接向Appstroe上架,(苹果公司会收年费);2,公司开发者账号(可以有子账号),直接向Appstroe上架,(苹果公司会收年费);3.企业开发者账号,企业内部使用,不上APPStroe,开发的App可以不经过苹果公司审核(苹果公司会收年费); 真机调试过程:1,用钥匙串生成CSR文件2,打开浏览器,https://developer.apple.com;3,将CSR文件上传,生成iOS_ development.cer 证书;4,添加 App ID...

IOS开发——UI进阶篇(十六)Quartz2D实战小例子【代码】【图】

一、画线只有在drawRect中才能获取到跟view相关联的上下文- (void)drawRect:(CGRect)rect {}一条线// 1.获取跟当前View相关联的layer上下文(画板)// 总结:目前获取的所有上下文都是以UIGraphics开头// CGContextRef:上下文类型// CG:CoreGraphics Ref:引用CGContextRef ctx = UIGraphicsGetCurrentContext();// 2.绘制内容,拼接路径// 创建贝瑟尔路径,因为里面已经封装好了很多路径UIBezierPath *path = [UIBezierPath bezierPath]...

js区分ios和android

<script type="text/javascript"> var u = navigator.userAgent; var isAndroid = u.indexOf(‘Android‘) > -1 || u.indexOf(‘Adr‘) > -1; //android终端 var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 alert(‘是否是Android:‘+isAndroid); alert(‘是否是iOS:‘+isiOS); </script>原文:https://www.cnblogs.com/dgmoba/p/12609536.html

iOS真机测试中出现dyld`dyld_fatal_error错误【图】

最近进入一家新公司,接手了一个之前由外包公司承接的项目。首先吐槽一下项目质量,哎毕竟也憋了很久了。  1.上手项目是打不开的,所有framework静态库全体飘红,一编译七八十错误。最终是偷懒还是什么就不得而知了。最终慢慢一个个的将静态库framework导入Building Phases中,其中又发生了很多意想不到的错误。若有人对此有兴趣我们可以下次再聊这些问题。  2.项目代码分类封装问题。项目是用Swift写的,而我之前使用的较多的...

iOS开发学习资料整理【图】

基础语法学习:Objective-C:网络上有条理的OC学习资源较少,建议购买入门书籍:《Objective-C 程序设计》(【美】Stephen G. Kochan)或《Objective-C 基础教程》([美] Scott Knaster)Swift:语法基础:http://wiki.jikexueyuan.com/project/swift/学习博客:http://www.hangge.com/blog/cache/category_72_1.html Demo学习网站:http://code4app.comhttp://code.cocoachina.com 交流社区:Cocoacina: http://www.cocoachina.c...