|
|
|
|
探索iOS 9适配 |
| |
|
作者:fir.im 来源:CSDN 火龙果软件 发布于 2015-10-30 |
|
|
|
摘要:本文作者陈宜龙iOS程序犭袁曾多次在GitHub每日最受欢迎Objective-C开发者排行NO.1,热爱分享,崇尚开源精神。在此从基础适配、崩溃与警告、UI适配、新特性适配四部分,分享了对iOS 9适配的探索与理解。
作为一名iOS开发者,你可能不熟悉陈宜龙,但不会不知道iOS程序犭袁,曾多次在 GitHub 每日最受欢迎 Objective-C 开发者排行NO.1,热爱分享,崇尚开源精神,对新技术有狂热的追求。近日,在飞行课堂·北大孵化营站,陈宜龙从基础适配、崩溃与警告、UI适配、新特性适配四部分,分享了对 iOS 9 适配的探索与理解。

蛋疼的基础适配?
陈宜龙认为,很多开发者对ATS有误解,因为多多少少都会遇到网络中断问题。所以,得出了一个结论:“所有从 iOS 9 发出网络请求,都会受到ATS的限制。”其实不是这样。只有从NSURLConnection,CFURL或者NSURLSession APIs这三类发出的请求才会受到网络限制。 第二个误解:iOS 9 之后,之前上架的App就不能正常使用了。经过很多开发者实践,没有问题。原因就在于ATS是iOS 9 在 SDK 层面的新特性。
ATS:安全第一
Xcode病毒事件中,开发者可以通过ATC抓包,检测App是够感染。以下为用 SSL/TLS 的通信的好处:

另外,陈宜龙不建议彻底禁用ATS,很多公司在没有ATS限制之前就已经全面支持https。以下为他列出了几种App适配方案:

后台定位:省电才是硬道理
在苹果的规则中,省电是非常重要的一点。iOS 9 的新特性中,增加了“allowsBackgroundlocationUpdates”——允许后台定位的新属性。开发者可选择开启或手动关闭这项新属性。 陈宜龙@iOS程序犭袁用高德地图举例,如果用户打开App只浏览地图,后台定位属性即可设为no。如果用户使用导航功能,属性即可设为yes。

企业分发调整了新的用户确认流程,如下图所示:

bitcode
陈宜龙认为知道怎么开关就行,下图为开关示例:

URL Scheme-白名单
URL Scheme新属性可以帮助了解用户。实现方法:动态下发一个Bundle ID,隔一段时间去看OpenURL,再下发一些BundleID,通过返回值yes或者no,可以发现用户性别,运动偏好等。如果采集到这些信息,可以推送广。

崩溃与警告
陈宜龙@iOS程序犭袁简单列举了JSONKit 导致崩溃、Masonry 引起崩溃、旧的状态栏样式设置引起警告、在 debug 状态下也生成.dSYM文件引起警告等示例。更多崩溃分析需求,可以使用BugHD实时监控。


UI适配

上图:字体变大举例 下图:只设置左边约束(单边约束)

新特性适配
Search API:可执行搜索,跳转,push的动作。 UIStackView将取代UITableView,甚至UICollectionView。

|
|
|