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中

<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的方法,还把为什么会出现这种问题简单介绍了一下,自问暂时不可能比他整理的更好,所以直接奉上 连接了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 很可能你的应用是与一个支持HTTPS传输数据的服务器交互,但是并没有使用TLS 1.2或更高。在这种情况下,你定义...
    Www刘阅读 8,320评论 0 5
  • 1. 下载并安装SDK 2.1 下载SDK最新版SDK下载地址:http://dev.umeng.com/soci...
    GoGooGooo阅读 8,130评论 1 2
  • 1.网络请求报错。 升级Xcode 7.0发现网络访问失败。 输出错误信息: The resource could...
    DestinyFighter_阅读 3,424评论 0 3
  • 晚餐几道特色海鲜,数瓶青啤相伴,外加令人惊异的西北手工面条,大解江南不适口味,味蕾重归故乡。夜宿精品酒店,房间硕大...
    向耀华阅读 942评论 0 0
  • 空旷的房间 室友在 阳光也好, 这个物质的世界 我就不想你了 在梦里我为你卑躬屈膝 (以前写的一首小诗吧,物质世界...
    如一不如一阅读 1,462评论 0 0