iOS9 适配

一、先上图1:

白名单问题
  1. 这是ios9白名单问题:
    -canOpenUrl: failed for URL: " " -error:This app is not allowed to query for scheme xxx

起因于 ios9 对传输安全的支持

在新一代的iOS系统中,默认需要为每次网络传输建立SSL。解决这个问题有两种方法:

解决方法:
A.建立白名单(根据需要删减)并添加到你的app的plsit中

LSApplicationQueriesSchemes


wechat
weixin

sinaweibohd
sinaweibo
sinaweibosso
weibosdk
weibosdk2.5

mqqapi
mqq
mqqOpensdkSSoLogin mqqconnect
mqqopensdkdataline mqqopensdkgrouptribeshare mqqopensdkfriend
mqqopensdkapi mqqopensdkapiV2 mqqopensdkapiV3
mqzoneopensdk
wtloginmqq
wtloginmqq2
mqqwpa
mqzone
mqzonev2
mqzoneshare
wtloginqzone
mqzonewx
mqzoneopensdkapiV2 mqzoneopensdkapi19 mqzoneopensdkapi
mqzoneopensdk

alipay
alipayshare

或者 直接在info中配置(其他白名单名称参考 )

iOS9 适配_第1张图片
添加白名单

B.强制将NSAllowsArbitraryLoads属性设置为YES,并添加到你应用的plist中

NSAppTransportSecurity

NSAllowsArbitraryLoads

俗话说的好,没有调查就没有发言权,测试后发现 这份来自于微博官方文档的解决方案并不对,准确的来说是描述不对。B 的解决是https连接的问题,是访问网络的问题 ,适配ios9 第一步要做到事情,如果你们的后台服务器不支持https,那你只好使用 的解决方案了。附上错误码:
App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.

或者 在 info里添加:


设置NSAppTransportSecurity

二、上图2:

iOS9 适配_第2张图片
bitcode问题
  1. 这是ios9 Bitcode问题:
    xxx does not contain bitcode. You must rebuild it with bit code enabled

起因于 Xcode7默认开启Bitcode

解决方法:

方法一:使用bitcode,

虽然我也不会用,但我知道许多第三方包不支持bitcode,所以对于引用第三方文件的开发者来说使用它并不简单(可能是因为我菜,别打脸)。

方法二:关闭Bitcode,方法见下图

简单粗暴,不过我喜欢

iOS9 适配_第3张图片
关闭bitcode

发现了一篇好的文章,不光介绍了适配ios9的方法,还把为什么会出现这种问题简单介绍了一下,自问暂时不可能比他整理的更好,所以直接奉上 连接了。

你可能感兴趣的:(iOS9 适配)