iOS9 个人遇见问题整理:
一、Bitcode
更新Xcode7后 运行报错:
解决办法,在工程设置中找到bitcode 并设置为NO。
关于Bitcode的官方解释:
Xcode7默认是开启bitcode的,WatchOS 是必须包含bitcode的,iOS不强制。
二、http与https
升级到Xcode7后,项目里所有http请求 都失败了,原因是 iOS9中,系统框架下的网络请求 默认是使用https(强制增强数据访问),将不再使用http等不安全的网络协议。
解决的办法:
1. 服务器端升级使用TLS 1.2,以解析相关数据
2.修改Xcode工程info.plist文件,添加NSAppTransportSecurity Dictionary字段,并设置NSAllowsArbitraryLoads 参数为YES,如下图:
三、系统动态库 dylib
在Xcode7中,已经找不到dylib文件了,原项目中的系统动态库显示错误(找不到), 进而 ‘代替’ 的是tbd文件,这个文件怎么使用待后续研究(只单独添加同名tbd文件没用)
解决办法:
第一种: 网上普遍的做法是进入xcode 本地目录的找到相关dylib文件 添加。(但是我在Xcode7<包括iPhoneOS.sdk>中 并没有找到相关文件)
第二种:是 处理 Other Linker Flags ,添加完后将原来红色错误的dylib删除,编译 成功。
四、Xcode7版本提审包自动审核出现的问题
1、自动审核错误 ERROR ITMS-90474、ERROR ITMS-90475,如下图
Xcode7 Device设置为Universal(支持iPhone和iPad) 或者 iPad应用时 默认设置的话会造成这个错误,解决办法:将iPad下的 Requires full screen勾选上,如下图
2、Xcode7 提审包 资源bundle错误 ERROR ITMS-90535
这个也是用xcode7出现的问题,删除报错bundle里 info.plist 的CFBundleExecutable健 就可以解决了