
iOS
文章平均质量分 71
RITL
只有无形的事物,方能在时光中永不褪色..
展开
-
iOS开发------获取系统联系人(Contacts篇)
Contacts.framework是Apple在 iOS9.0 替代AddressBook.framework的框架,至于AddressBook是做什么的框架,楼主默认看到博文的开发者是知道的 O(∩_∩)O。如果想了解AddressBook的使用欢迎查看一下楼主之前关于AddressBook的博文,本篇不做过多的缀余: iOS开发——获取系统联系人(AddressBook篇) iOS开发—原创 2016-10-19 11:52:05 · 8518 阅读 · 0 评论 -
iOS10的推送框架UserNotifications以及UserNotificationsUI
iOS10发布以来,相信各位开发者能踩的坑也应该踩得差不多了;但也许正是因为每次苹果都会更新比较多的东西,才会觉得搞iOS很有意思吧。(不知道大家会不会觉得楼主这种想法有点坑?)推送是iOS10系统变动比较大的一个地方,对于这种大变动不瞅瞅一下着实不符合楼主的性格,那么楼主就在求知欲的推动下(毕竟还得给自己的项目进行适配不是..)就花了点时间对UserNotifications这个框架进行了一个整体原创 2016-09-30 12:48:07 · 3688 阅读 · 2 评论 -
iOS开发------Widget(Today Extension)插件化开发
iOS10.0发布啦(貌似过去有点时间了吧 - -),在宏观带给我们使用体验的提升之外,更多的是带给iOS开发者一定的欣喜。因为我们又要学习新东西来适配10啦。博文所说的Widget并不是iOS10系统新推出的功能模块(其实在iOS8上就已经出现啦,只不过楼主在iOS10发布之后才算真正的了解它,实在是惭愧呀),之前仅仅是存在于通知那一栏中,至于多隐蔽我就不说了吧。但在系统10之下,它原创 2016-09-21 15:59:30 · 14241 阅读 · 8 评论 -
iOS开发------Apple Pay(PassKit.framework篇)
由于项目突赶进度,从上次发布iOS开发——Apple Pay(证书配置篇)过去有挺长一段时间了。俗话说凡事应有始有终,所以还是决定趁空余时间将这篇Apple Pay(PassKit.framework篇)补充完整,万一有相同疑问的小伙伴呢,好有个参考,也不枉花费的时间。说实话,网上其实有很多介绍Apple Pay的文章,但总是感觉不太详细,在探索的过程中没有给我太大的帮助,便把更多的时间执着于开发文原创 2016-08-24 15:17:34 · 2669 阅读 · 3 评论 -
iOS开发------Apple Pay(证书配置篇)
苹果支付(Apple Pay)中国上线有段时间了,也许是因为国人还不太习惯这种支付方式,也有可能楼主待的城市比较小,从日常生活中感觉用它做支付方式的人还不是很多。但楼主一般能用Apple Pay的时候基本也不太用其他的支付方式(除非有优惠,哈哈)在Apple Pay上线之后,美团、京东等常用支付的App都在第一时间支持了它,上线第二天楼主也绑卡体验了一下传说中的Apple Pay,感觉好用的同时还真原创 2016-08-16 17:30:32 · 6265 阅读 · 1 评论 -
iOS开发------简单实现图片多选功能(Photos.framework篇)
Photos.framework是iOS8后苹果推出的一套替代AssetsLibrary.framework获取相册资源的原生库,至于AL库,欢迎大家给博文iOS开发——简单实现图片多选功能(AssetsLibrary.framework篇)提出宝贵的意见。楼主大部分都是查看官方开发文档进行探索的(当然,实在不明白了也会请求google 的 0.0 )。这里就说一下个人的看法吧,相比AL库,Phot原创 2016-08-09 17:00:34 · 12550 阅读 · 8 评论 -
iOS开发------iOS 10 由于权限问题导致崩溃的那些坑
6月份的WWDC大会结束有一段时间了,相信很多开发者也是在努力工作的闲时用着Xcode8 Beta版学习着新的特性吧。使用Xcode写自己的东西有一段时间了,在使用Xcode8编程时不得不说我特别喜欢改后的默认字体,哈哈,当然默认字体是可以调回去的,只不过默认的字体感觉看起来比以前舒服了,毕竟不会像之前那么”字正腔圆”了。步入正题吧,不然慢慢的就会成为话唠了。凡事总会有个导火线吧,想记录权限问题的原创 2016-08-01 18:39:06 · 35327 阅读 · 0 评论 -
iOS开发-------基于WKWebView的原生与JavaScript数据交互
WKWebView是iOS8.0之后用以替代UIWebView的网页浏览器,包含在WebKit中,可以通过 @import WebKit 导入。如果工程需要适配iOS7,那么请在iOS7中使用UIWebView。如果是iOS8.0以上,请果断的选择WKWebView吧,无论是从功能,加载速度还是性能上,它都是不二的选择。毕业回公司有段时间了,与其说比较忙,不如说最近接触的东西有点小原创 2016-07-30 19:01:20 · 16019 阅读 · 3 评论 -
iOS开发------XML原生解析(NSXMLParser篇)
由于项目需要,最近就研究了一些与视频流相关的知识,在学习的过程中发现,JSON作为轻量级的数据传输格式就显的非常不便.当然,这句话的意思就是说在学习过程中碰到的XML格式数据居多了呗,这时掌握一些XML的解析方法就显得重要了。尽管之前转发过一篇介绍XML解析的博文网络数据的XML解析,但总觉得千转不如一写,所以就花时间研究了一下。很多第三方代码其实能够很好的帮助我们解析数据,但由于楼主的个性,在认可原创 2016-06-02 16:40:47 · 5361 阅读 · 0 评论 -
iOS开发------跳转至当前Application Setting界面
最近回归公司项目的时候,感觉目前定位时用户体验稍差,稍作考虑,还是决定参考一下高德地图的用法。 在使用高德地图的时候,如果我们故意的将定位权限关闭,那么在使用它进行定位的时候,它会给我们一个友好提示,当点击设置的时候就会跳到当前App的设置界面,不仅增强了用户的体验而且提高了代码的健壮性,图例如下: 由于多个控制器都会用到此方法,所以决定在基类中实现如下类目://实现控制器基类的一个类目@imp原创 2016-06-01 10:08:14 · 2254 阅读 · 0 评论 -
iOS开发------常用正则表达式语法以及常用正则
博文转自:zhaojinqiang12的博客-iOS中的正则表达式运用,更加详细的内容请关注以上博文Thanks()什么是正则表达式正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式。正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分。它可以迅速地用极简单的方式达到字符串的复杂控制。 正则表达式的语法特殊符号^和$他们的作用是分别指出一个字符串的开始转载 2016-05-19 18:35:00 · 2688 阅读 · 0 评论 -
iOS开发------通讯录分组排序(UILocalizedIndexedCollation)
最近写了两篇关于通讯录的博文,通过前两篇博文的简要描述与介绍,基本是能够读出通讯录中的联系人,并能完成对通讯录增删改的操作,但在真实开发中,列出联系人之后是需要分组的,毕竟不能把联系人无规律的排列在tableView上吧。那么这里就顺水推舟,再介绍一下针对联系人分组特别方便的原生类:UILocalizedIndexedCollation效果图的先后对比UILocalizedIndexedCollat原创 2016-05-13 16:23:10 · 3883 阅读 · 0 评论 -
iOS开发------操作通讯录(AddressBook篇)&通讯录UI(AddressBookUI篇)
上篇博文简要的介绍了如何使用AddessBook.framework来获取系统通讯录,但有时候又想对其做修改怎么办,那么这篇博文就总结一下如何修改系统的通讯录吧。 修改系统通讯录的方法两种方法通过AddressBook.framework的各种函数来完成对AddressBook的操作。通过AddressBookUI.framework中提供的系统UIViewControl原创 2016-05-13 08:45:18 · 10095 阅读 · 0 评论 -
iOS开发------获取系统联系人(AddressBook篇)
AddressBook是Apple提供给我们获取系统联系人的一个很方便类库,与其说方便,其实刚开始还是比较崩溃的,从开发文档来看,它还是偏向于C语言,并且不在ARC的控制之下,虽然在iOS9.0之后会被Contacts.framework替代,但在工作中要对最低版本进行兼容,了解一下这个类库还是很有必要的。这里就介绍一下获取联系人信息的那些方法,对于修改,添加删除等操作,想留在下一篇介绍Addres原创 2016-05-11 11:33:56 · 8960 阅读 · 10 评论 -
iOS开发------手动约束布局出现NSAutoresizingMaskLayoutConstraint冲突(解决)
十分感谢一下博客让我解决了问题: ios 约束冲突NSAutoresizingMaskLayoutConstraint最近手写约束布局代码,适配不同屏幕的时候,出现了一个很奇怪的问题,不报错也不崩溃,最终的效果也是理想的,但就是出警告。原因是约束的大小不固定,需要根据屏幕的比例大小进行相应的变值。程序是在iPhone5s上进行的开发,在那个时候是没有问题的,但运行在iPhone6s的时候,就会出现原创 2016-05-05 14:30:08 · 5101 阅读 · 0 评论 -
iOS开发------获取iPhone的具体型号
开发过程中后台有这么一个需求,需要将iPhone的手机型号传过去,就写了一个UIDevice的Categroy来获取当前手机的具体型号,自然也包含了最新的SE,当然,这篇博文也会根据最新iPhone的发版不断地更新。没啥好说的,直接上代码吧,声明文件如下://// UIDevice+YiPhoneModel.h// CityBike//// Created by YueWen on 1原创 2016-05-04 14:23:45 · 4030 阅读 · 0 评论 -
iOS开发------使用Xcode编译器定位抛出异常的位置
虽然Objective-C对异常进行了封装,但日常敲代码的时候,往往会因为马虎,代码段出现了一点小小的错误,自己却发现不了。当然,很多时候,Xcode就会直接报错(也就是俗话说的崩了)告诉我们,这个时候只要根据报出的异常堆栈,就可以找到错误的具体位置。可是有一种情况,相信大家肯定遇到过,程序不崩或者崩了但是没有告诉我们异常堆栈,但错误原因告诉我们了:*** First throw call stac原创 2016-05-02 19:43:03 · 2839 阅读 · 3 评论 -
iOS开发------简单实现图片多选功能(AssetsLibrary.framework篇)
AssetsLibrary.framework是iOS7.0之前用来获取手机所有的媒体资源的一个静态库,在iOS8.0之后完全可以用Photo.framework来代替,但因为涉及到适配iOS7,所以这个库用的还是比较多的。实际上,多选图片有很多很好用的第三方,但找到一个完全符合自己需求的第三方也不是那么容易,就算找到,如果不懂,也不是很好修改代码才对,所以了解一下这个库也是很有必要的,这里就记录一原创 2016-04-20 14:58:06 · 5029 阅读 · 0 评论 -
iOS开发------使用自定义.bundle中的资源文件
在进行资源封装的时候用到了自定义的.bundle文件,之前在很多的SDK中也可以看到它的身影,就稍微了解了一下,不难,就是在引用里面文件的时候浪费点时间,浪费的原因下面也有说,这里就记录一下如何自定义创建.bundle以及如何引用里面的资源文件.在使用.bundle文件的时候需要注意:这个文件在运行的时候不会被编译到,So,此文件中存储的内容应该是资源文件,不能放编译的文件(比如能编译运行的代码)。原创 2016-04-18 16:38:32 · 11334 阅读 · 1 评论 -
iOS开发------程序实现国际化Localizable
研究AssertsLibaray.framework以及Photos.framework这两个原生静态库的时候,相册的组名需要用到国际化来标示一下,虽然系统提供了组名的国际化,但是稍微的了解了一下国际化还是有必要的。就在这里就稍作记录作为参考。语言国际化就是为不同的语言做的适配,就像iPhone一样,根据不同的语言会将文字变成相应的语言。以下的操作的编译器为Xcode 7.3内容国际化1、创建字符串原创 2016-04-15 15:34:42 · 5007 阅读 · 0 评论 -
Attempt to present VC whose view is not in the window hierarchy 解决
具体的问题如下:2016-04-11 10:03:01.603 312312321[4377:61862] Warning:Attempt to present <UIViewController: 0x7fbe686a8690> on <ViewController: 0x7fbe6a024e00>whose view is not in the window hierarchy! 这个警告原创 2016-04-11 11:07:01 · 1967 阅读 · 0 评论 -
iOS开发------本地存储-NSKeyedArchiver & NSKeyedUnarchiver(归档)
iOS下有很多中本地存储方式,但相比于CoreData,很多情况下还只是轻量级的数据,对于不是很复杂的数据,个人还是比较喜欢直接用归档或者plist文件来存储信息,毕竟存储的信息量没有那么大,用归档会比较轻便。说到本地存储,不得不说NSUserDefaults,它是系统提供给我们很好的本地存储容器,比如单个的基础属性的存储用NSUserDefaults也很方便,但是如果存的是一个我们自己自定义的Mo原创 2016-04-06 17:22:19 · 2446 阅读 · 0 评论 -
iOS开发------实现图片下载缓存到本地
在开发过程中很多人都会使用SDWebImage来进行网络图片的缓存,说实话,这个第三方也确实好用,但依照本人的性格,还是一直在想做一版自己的本地缓存,比如下载的图片存到本地,下次再有相同的图片需要加载,就不用再花冤枉流量来下载了,这次的尝试虽然相比SDWebImage会差很远,但是这只是一个开始,毕竟本人的项目经验有限,但会在以后的学习中不断的对这个代码进行优化,毕竟自己的代码可控性要比第三方大得原创 2016-03-20 19:42:38 · 7268 阅读 · 0 评论 -
iOS开发------仿知乎上下滑动切换页面
放松的时候看看知乎,生活不解的时候问问知乎,这貌似已经成为了生活中的一种习惯,它独特翻页方式也是本人喜欢的一个原因,通过上划与下滑进行页面的翻页,不必返回再进入下一个页面,显得非常的简介并且人性化,这里就模拟知乎进行一次模拟滚动换页,希望能给想做这种效果的人一种思路,实现的大体思路就是在ScrollView中嵌套ScrollView来感应达到切换效果。利用工作之余就做了一个类似功能的小Demo,当然原创 2016-03-14 19:51:49 · 11252 阅读 · 0 评论 -
iOS开发------响应TableView下拉设置NavigationBar的透明度
最近工作不忙的时候会偷懒玩一会手机,自然会发现各大App中的一些小细节很吸引人,这次看到一个很有意思的效果,其实这个效果应用的已经很普遍,就是响应scrollView的下滑,NavigationBar从无到有(其实就是透明度从0到1的过程),看起来总是简单的,实现起来总会遇到点麻烦,这次也一样,经过查阅相关技术博客以及花点时间研究原理,也慢慢的理解实现了出来,个人还是觉得了解原理要比直接拿来代码要原创 2016-03-13 11:02:32 · 2172 阅读 · 0 评论 -
iOS开发------类似UI浏览器上方的滚动状态栏
前几天翻手机的时候,被UC浏览器的一个小细节吸引,就是上方的一个滚动栏,他的细节是什么,估计可以打开UC浏览器或者看完下面的描述会有所了解,刚开始会觉得很简单,但在即将结束的时候,还是感觉自己太天真了,具体的细节请看下面的模拟图原创 2016-03-07 19:19:25 · 1395 阅读 · 0 评论 -
iOS开发------runtime关联对象(动态添加属性)
如果想用一个系统的类,但是该类又不满足需求,首先肯定是继承自系统的类,重新构建一个类,但这种方法,如果我们需求的类之比原来的类多一个属性呢,继承似乎又显得比较麻烦,这个时候也许用runtime的关联对象就可以办到了。要想在runtime中完成动态添加属性,需要导入#import<objc/runtime.h>这个头文件。然后需要了解下面两个方法:/** * 设置关联对象 * * @para原创 2016-03-01 10:43:07 · 3105 阅读 · 0 评论 -
iOS开发-------属性用copy、strong修饰的区别
Copy,Strong的区别需要了解点内存管理的知识,Strong是ARC下引入的修饰,相当于手动管理内存(MRC)下的retain,在相关代码下,常常看到有的人用copy修饰NSString,NSArray,NSDictionary..等存在可变与不可变之分的对象,常常会用copy,而不是strong,下面代码来解释一下strong与copy的区别:先说明一下什么叫做浅拷贝,什么叫做深拷贝;原创 2016-02-29 19:49:24 · 7604 阅读 · 0 评论 -
iOS开发------runtime之动态添加方法(动态决议,请求转发)
RunTime中实例变量调用方法的步骤:1、在该实例变量的方法缓存列表中查找方法,如果找到执行.2、如果没找到,会去类结构中的相应方法列表中进行查找,如果找到执行.3、如果方法列表没有找到该方法,那么就从父类中进行1、2部操作.4、如果直到根类仍然没有找到方法,那么就会报错:unrecognized selector sent to instance 0x1005046c0.原创 2016-02-28 16:13:14 · 3737 阅读 · 0 评论 -
iOS开发-------初探运行时runtime
对于iOS的开发者,相信Objc的RunTime机制肯定都听说过,了解RunTime的机制,对自己的提高不言而喻,最近在一直学习RunTime机制,对此写下点学习过程的收获,以便以后查阅,也方便理解,本人研究RunTime时间不长,如果有理解不对的地方也请告知,共同进步。 什么叫RunTime呢,大家也都知道Objc的底层是C语言完成的,在运行的时候,会将Objc的代码转换成C原创 2016-02-22 08:47:16 · 1029 阅读 · 0 评论 -
iOS开发-------3D Touch之Peek,Pop,UIPreviewAction
上一篇博客说了,如何在创建以及响应ApplicationShortcutItem的方法,那么现在再来应用一下如何响应Peek、Pop操作,什么叫Peek操作呢,就是说当稍微重按得时候会出现一个预览视图,在此时可以上划出现快捷按钮,再按一下会弹到详细视图。对于Peek以及Pop操作,楼主也感谢下面的博客iOS9 3D Touch 使用第二篇首先为了能快速构建Demo,原创 2016-02-20 14:56:39 · 3230 阅读 · 0 评论 -
iOS开发-------3D Touch之ApplicationShortcutItem
自从iPhone 6s / 6s Plus 发布之后,3D Touch给了APP一种新的活力,对于大部分的果粉或者年轻人来说,应该已经很习惯这个新特征了,很多的主流APP也在第一时间适配了3D Touch,为了让自己的APP显得高大上,适配3D Touch就是必不可少的一步了,如何对3D Touch进行开发,网上也有很多的博客,楼主只是学习着应用一下。在众多的博客中,很感谢下面的博客,原创 2016-02-20 14:22:50 · 2595 阅读 · 0 评论 -
网络数据的XML解析
本文章转载自http://blog.csdn.net/nono_love_lilith/article/details/7829732/网络应用中的数据解析,因为最近的应用,无论是Android的和ios平台的,一直用也是建议用的都是Json解析,xml解析都有点被遗忘了。然后最近自己在做着玩一个ios的小应用,涉及网络数据的抓取,一些网站可能都提供了自己api平台,这些一般都转载 2015-12-09 10:52:07 · 791 阅读 · 0 评论 -
iOS开发~CocoaPods使用详细说明
一、概要iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三方库。二、安装由于网上的教程基本都大同小异,但细节之处还不是很完善,所以借机会在这里补充下:注:要使用CocoaPods,那就要下载安装它,而下载安装CocoaPods需要Ruby转载 2015-12-05 17:52:16 · 649 阅读 · 0 评论 -
App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure 解决
做项目的时候经常会用到网络请求,因此AFNetworking这个插件可谓是非常好用,但是在升级之后,再用AFNetworking会报如下警告,表示不能对网络进行请求:App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary excepti原创 2015-10-16 19:54:27 · 1256 阅读 · 0 评论 -
iOS开发-------FMDB实现本地存储简易通讯录
上一篇博客,用自带的sqlite3实现了简易的通讯录,那么实现本地存储,除了coreData以及sqlite3,也看出用sqlite3来实现是比较麻烦的,特别是需要注意NSString以及C语言的字符串的转换问题,那么FMDB就完全解决了这个问题,其实FMDB是基于sqlite3来封装的一个类,让使用起来更加直观,因为这个一篇是基于上一篇的,所以感兴趣可以去上一篇iOS学习-------Sqlit原创 2015-10-16 16:42:40 · 1914 阅读 · 0 评论 -
iOS开发-------Sqlite3实现本地存储简易通讯录
最近几天整了下Sqlite3,也就是ios的另外一种储存方式,那么coreData是有什么不足么,不是,一般数据比较简易的时候是不会用coreData的,反而会用自身的sqlte3来实现本地的存储,这就需要用到了点SQL语句了,一般都会用第三方FMDB(第三方库)来简化使用,但第三方的应用是下一次博客的事情了,这次用自带的sqlite3来实现一个简易的通讯录,能够实现保存,并完成增删改查即可,毕竟原创 2015-10-15 16:26:27 · 3001 阅读 · 4 评论 -
iOS开发-------模拟团购网站(UITableView 表格视图)以及自定义cell
上一篇博客说了UIScrollView(滚动视图),以及如何实现无限滚动的原理,那么这一次结合UIScrollView,以及UITableView(表格视图)做一个模拟团购的小Demon,并使用了xib以及加载pilsit文件,因为这个demon楼主做了比较久了,属于学iOS的初级demon,所以没有使用任何的约束,也没有任何的MVC思想,因为要想达到比较好的效果,用iPhone4或者IPhone原创 2015-10-12 11:40:35 · 1082 阅读 · 0 评论 -
iOS开发-------滚动视图(UIScrollView)并实现循环滚动
滚动视图(UIScrollView) 其实是一个能够实现存放大图片以及实现滚动的组件,比如有的图片很大,但是用UIImageView装不下,那么这个时候就需要UIScrollView了,如果说举例子的话,很多地方都用到了,比如页面滚动的广告视图,滚动的头条等,那么它是一种什么效果呢,相信看完图之后立马就会明白了,因为这个程序非常简单,重点在于如何应用 滚动视图(UIScrollView),以及能原创 2015-10-09 17:00:41 · 7881 阅读 · 3 评论 -
iOS开发-------MVC架构思想-植物大战僵尸
十月长假也就这么过去了,利用假期想磨练一下自己的MVC架构的思想,于是找了一个相对比较麻烦的Demo来锻炼下,在之前很喜欢植物大战僵尸这个游戏,也算为游戏致敬了,但是这个植物大战僵尸肯定不是之前玩过的那个游戏,只是致敬,类似打地鼠,但是代码感觉非常多,所以也算楼主的目前博客里面最有料的了,不得不说,想逻辑的时候直接的虐心啊,先看一下效果吧然后看一下如果家中的僵尸原创 2015-10-07 16:12:36 · 1882 阅读 · 0 评论