β

「飞行课堂第二期」陈宜龙@iOS程序犭袁:iOS9适配分享

飞行日志 110 阅读

编者按:fir.im「飞行课堂」旨在为开发团队提供更多移动开发和测试分发的技术经验和教训,分享最新最 IN 的技术观点与干货。感谢这些对技术执着的飞行导师接受我们的邀请,和大家面对面展开最直接的交流,希望我们的这次沙龙为你们带来技术思想层面新的突破。

技术大咖 @iOS程序犭袁 在9月24日受邀参加了 fir.im 的飞行课堂技术分享。@iOS程序犭袁 本名陈宜龙,曾多次在 Github 每日最受欢迎 Objective-C 开发者排行NO.1。他热爱分享,崇尚开源精神,对新技术有狂热的追求。

fir.im 飞行课堂·北大孵化营站,陈宜龙@iOS程序犭袁从基础适配、崩溃与警告、UI适配、新特性适配四部分,分享对iOS9适配的探索理解。

fir.im

蛋疼的基础适配?

陈宜龙 @iOS程序犭袁 认为,很多开发者对ATS有误解,因为多多少少都会遇到网络中断问题。所以,得出了一个结论:“所有从iOS9发出网络请求,都会受到ATS的限制。”其实不是这样。只有从NSURLConnection,CFURL或者NSURLSession APIs这三类发出的请求才会受到网络限制。

第二个误解:iOS9之后,之前上架的App就不能正常使用了。经过很多开发者实践,没有问题。原因就在于ATS是iOS9在SDK层面的新特性。

ATS:安全第一

Xcode病毒事件中,开发者可以通过ATC抓包,检测App是够感染。以下为用 SSL/TLS 的通信的好处:

fir.im

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

fir.im

后台定位:省电才是硬道理

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

fir.im

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

fir.im

bitcode

陈宜龙@iOS程序犭袁认为知道怎么开关就行,下图为开关示例:

fir.im

URL Scheme-白名单

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

fir.im

崩溃与警告

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

fir.im

fir.im

UI适配

fir.im

上图:字体变大举例

下图:只设置左边约束(单边约束)

fir.im

演讲第四部分:新特性适配

Search API:可执行搜索,跳转,push的动作。

UIStackView将取代UITableView,甚至UICollectionView。

fir.im


以上是 fir.im 「飞行课堂第二期」陈宜龙 @iOS程序犭袁 的技术分享,特此整理,希望对你有用。

fir.im

作者:飞行日志
飞行日志

发表评论