昨天更新了Xcode 7,准备iOS 9的适配,查阅了相关文档,还是遇到不少坑,特整理下。
1、编译运行发现错误,类似如下错误
ld: ‘/Users/**/Framework/SDKs/PolymerPay/Library/mobStat/lib**SDK.a(**ForSDK.o)’does not contain bitcode. You must rebuild it with bitcode enabled (Xcodesetting ENABLE_BITCODE), obtain an updated library from the vendor, or disablebitcode for this target. for architecture arm64
是由于工程中引用的第三方库不支持bitcode导致的(bitcode这货大家不明白的可以去查查),我们在工程中关闭bitcode就可以编译了。Build Settings中搜索下bitcode,Enable Bitcode设置为NO就可以了。
2、程序运行后网络连接异常,无法访问网络
这是因为iOS 9默认只支持https请求,解决方法为要么把服务器改为支持https,要么让App退回到http连接,最简单的来,我们设置为允许任意请求进行http连接。
”Info.plist“添加一个新的key,NSAppTransportSecurity,类型为Dictionary,再在其底下新建一个新的key,NSAllowsArbitraryLoads,类型为Boolean,值为YES,如图所示:
3、无法跳转到其他App,比如分享和支付
在iOS9中,如果使用URL scheme必须在"Info.plist"中将你要在外部调用的URL scheme列为白名单,否则不能使用。
需要在Info.plist中添加一个key为LSApplicationQueriesSchemes,type为Array,里面添加你需要调用的URL scheme,如图所示:
4、打包上传时发生错误,如图所示:
是因为iOS 9默认支持多任务分屏操作,如果不需要支持,可以在General中勾选Requires full screen,如图所示: