美文网首页
iOS9 适配

iOS9 适配

作者: ekg | 来源:发表于2016-01-12 10:17 被阅读1346次

一、先上图1:

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

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

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

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

<key>LSApplicationQueriesSchemes</key>
<array>

<string>wechat</string>
<string>weixin</string>

<string>sinaweibohd</string>
<string>sinaweibo</string>
<string>sinaweibosso</string>
<string>weibosdk</string>
<string>weibosdk2.5</string>

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

<string>alipay</string>
<string>alipayshare</string>
</array>

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

添加白名单

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

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
</true>
</dict>

俗话说的好,没有调查就没有发言权,测试后发现 这份来自于微博官方文档的解决方案并不对,准确的来说是描述不对。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:

bitcode问题
  1. 这是ios9 Bitcode问题:
    xxx does not contain bitcode. You must rebuild it with bit code enabled

起因于 Xcode7默认开启Bitcode

解决方法:

方法一:使用bitcode,

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

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

简单粗暴,不过我喜欢

关闭bitcode

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

相关文章

网友评论

      本文标题:iOS9 适配

      本文链接:https://www.haomeiwen.com/subject/gvxckttx.html