



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
你的App真正适配了iOS 9吗?作者:冯义力 腾讯Bugly SDK开发工程师Apple秋季产品发布会刚刚结束,iOS 9 GM版本也正式发布了。新的iPhone设备即将开售,iOS 9系统升级也将会在下周开始陆续进行推送。在这之前,我们还可以为自己的App兼容适配做点什么,或者说,我们的App真的已经兼容适配好iOS 9系统了吗?从7月份开始到现在,Apple已发布5个iOS 9的Beta版本,相信开发者在这段时间也已经把iOS 9系统的特性基本了解清楚,也为自己的App进行了一系列兼容适配处理。但在这里,笔者还是要再次跟大家聊聊iOS 9中两个比较特别的特性及其兼容问题,即:App Transport Security和App Thinning。App Transport SecurityApp Transport Security is a feature that improves the security of connections between an app and web services. The feature consists of default connection requirements that conform to best practices for secure connections.App Transport Security(ATS)是Apple为提高系统及应用安全性而在iOS 9和OS X EI Capitan中引入的新特性,必然,出于安全性的考虑,在新发布的watchOS 2系统中也会适用。一旦开启ATS后,应用所有的网络请求将会自动转换为HTPPS传输,且采用一系列配置要求来保证数据传输的安全性,包括: Transport Layer Security协议版本要求TLS1.2以上 服务的Ciphers配置要求支持Forward Secrecy等 证书签名算法符合ATS要求等这些配置项在升级服务器支持HTTPS过程中都需要严格遵守的,否则就会导致你的HTTPS服务在iOS 9系统中连接仍是失效的。如果你的App的服务也在升级以适配ATS要求,可以使用如下的方式进行校验:在OS X EI Capitan系统的终端中通过nscurl命令来诊断检查你的HTTPS服务配置是否满足Apple的ATS要求:$ nscurl -verbose -ats-diagnostics https:/当然,你也可以参考Apple提供官方指南App Transport Security Technote进行服务的升级配置以满足ATS的要求。Apple虽然希望开发者可以积极的参与并为系统及应用安全共同努力,但官方仍提供了一些参考配置去禁用ATS功能或降低ATS的安全性要求。开发者可以在App的Info.plist中添加NSAppTransportSecurity的相关配置,用以禁用ATS或者添加白名单,可用的配置参数如下: NSAllowsArbitraryLoads - 设置true即支持所有HTTP请求 NSExceptionDomains - 添加白名单 NSExceptionMinimumTLSVersion - 白名单指定域名支持的TLS版本 NSExceptionRequiresForwardSecrecy - 白名单指定域名是否支持Forward Secrecy NSExceptionAllowsInsecureHTTPLoads - 白名单指定域名禁用ATS NSThirdPartyExceptionMinimumTLSVersion - 白名单指定第三方服务域名最低支持的TLS版本 NSThirdPartyExceptionRequiresForwardSecrecy - 白名单指定第三方服务域名是否支持Forward Secrecy NSThirdPartyExceptionAllowsInsecureHTTPLoads - 白名单指定第三方域名禁用ATS举个例子: 禁用所有连接使用ATS在Info.plist中配置禁用ATS: NSAppTransportSecurity NSAllowsArbitrary 指定域名禁用ATS在Info.plist中配置App的服务域名支持HTTP: NSAppTransportSecurity NSExceptionDomains NSExceptionAllowsInsecureHTTPLoads 指定域名修改ATS安全要求在Info.plist中配置第三方服务的TLS1.1及禁用Forward Secrecy: NSAppTransportSecurity NSExceptionDomains NSExceptionAllowsInsecureHTTPLoads NSThirdPartyExceptionMinimumTLSVersion 1.1 NSThirdPartyExceptionRequiresForwardSecrecy App ThinningThe App Store and operating system optimize the installation of iOS and watchOS apps by tailoring app delivery to the capabilities of the users particular device, with minimal footprint. This optimization, called app thinning, lets you create apps that use the most device features, occupy minimum disk space, and accommodate future updates that can be applied by Apple. Faster downloads and more space for other apps and content provides a better user experience.开发者都知道,当前iOS App的编译打包方式是把适配兼容多个设备的执行文件及资源文件合并一个文件,上传和下载的文件则包含了所有的这些文件,导致占用较多的存储空间。App Thinning是一个关于节省iOS设备存储空间的功能,它可以让iOS设备在安装、更新及运行App等场景中仅下载所需的资源,减少App的占用空间,从而节省设备的存储空间。根据Apple官方文档的介绍,App Thinning主要有三个机制: Slicing开发者把App安装包上传到AppStore后,Apple服务会自动对安装包切割为不同的应用变体(App variant),当用户下载安装包时,系统会根据设备型号下载安装对应的单个应用变体。 On-Demand ResourcesORD(随需资源)是指开发者对资源添加标签上传后,系统会根据App运行的情况,动态下载并加载所需资源,而在存储空间不足时,自动删除这类资源。 Bitcode开启Bitcode编译后,可以使得开发者上传App时只需上传Intermediate Representation(中间件),而非最终的可执行二进制文件。 在用户下载App之前,AppStore会自动编译中间件,产生设备所需的执行文件供用户下载安装。其中,Bitcode的机制可以支持动态的进行App Slicing,而对于Apple未来进行硬件升级的措施,此机制可以保证在开发者不重新发布版本的情况下而兼容新的设备。如果你的应用也准备启用Bitcode编译机制,就需要注意以下几点: Xcode 7默认开启Bitcode,如果应用开启Bitcode,那么其集成的其他第三方库也需要是Bitcode编译的包才能真正进行Bitcode编译 开启Bitcode编译后,编译产生的.app体积会变大(中间代码,不是用户下载的包),且.dSYM文件不能用来崩溃日志的符号化(用户下载的包是Apple服务重新编译产生的,有产生新的符号文件) 通过Archive方式上
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海市人民医院心理支持技能考核
- 邢台市人民医院钙磷代谢紊乱诊疗思维考核
- 2025年中国石油添加剂项目投资计划书
- 2025第三人民医院荧光腹腔镜技术应用考核
- 晋城市人民医院动脉硬化检测考核
- 阳泉市中医院脑血管介入围手术期管理护士考核
- 阳泉市人民医院药物护理管理考核
- 2025年江苏井控设备项目投资分析报告
- 鄂尔多斯市人民医院眼科健康教育能力考核
- 朔州市中医院肿瘤患者超声考核
- 2025年抗菌药物合理使用培训考试试题含答案
- 汽车充电桩场地安全使用协议书9篇
- 小学三年级英语教学计划
- 酒店海鲜供应配送合作合同5篇
- 月考成绩分析会校长讲话:3组数据揭短板5步整改提质效
- 幸福食堂运营补贴申请书
- 2025年中国盐业集团招聘面试模拟题集
- 2025年公共基础知识考试题库(附答案)
- 装饰装修应急预案及突发事件的应急措施
- 畜禽养殖场聘用技术人员合同7篇
- 水务理论知识考试题库及答案
评论
0/150
提交评论