Xcode 升级到 7.0 之后开发遇到了一些问题,这里做一下记录;
1. 网络请求失败
iOS9 中引入了新特性 App Transport Security(ATS),新特性要求 App 内访问的网络必须使用 HTTPS 协议。
解决方法:
1.网络请求改为 HTTPS 协议;但是目前公司使用的是 HTTP 协议以及一些加密方式来保证数据安全,不能马上更改协议,所以使用了方法 2;
2.在 Info.plist 文件中添加
2.第三方库不包含 bitcode
具体的关于 bitcode 的介绍大家可以参考官方文档,工程中有不包含 bitcode 的第三方库会导致编译失败,这里说一下解决办法。
解决方法:
1.更换支持 bitcode 的第三方库的版本,如果没有,使用方法2;
2.在 Xcode7 中,当我们新建一个工程时,bitcode 选项默认是设置为 YES 的,我们可以在 “Build Settings”->"Enable Bitcode" 选项中更改,设置为 NO;
注意:因为公司现在的项目支持 apple watch ,所以特意又了解了一下:对于 iOS ,bitcode 是可选的;对于 watchOS,bitcode 是必须的;Mac OS 不支持 bitcode;
3.第三方分享出错
现在的应用里用到了友盟的分享功能,升级 iOS9 之后分享出错,这里直接给友盟的解决方法链接 http://dev.umeng.com/social/ios/ios9#3
4.上传应用到 app store 时失败
错误一:ERROR ITMS-90049
解决方法:先查找第三方中包含的 Info.plist 文件,这里腾讯的
在腾讯的 Info.plist 文件中找到 Bundle version 、Bundle identifier 和 Bundle versions string,short (没有的自己添加) 这几个字段,修改他们的值使其与工程本身的 Info.plist 文件中的值相同
错误二:ERROR ITMS-90535
解决方法:按照错误一的解决方法找到第三方的 Info.plist 文件,删除字段 “Executable file” 对应的一行。