您的位置:首页 > 理论基础 > 计算机网络

iOS9网络适配

2015-09-17 16:45 417 查看
  今天升级
Xcode7.0,
发现网络访问失败。
  输出错误信息:
The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.


  Google后查证,iOS9引入了新特性
App Transport Security (ATS)
。新特性要求App内访问的网络必须使用
HTTPS
协议:iOS9系统发送的网络请求将统一使用TLS 1.2 SSL。采用TLS 1.2 协议,目的是强制增强数据访问安全,而且 系统 Foundation 框架下的相关网络请求,将不再默认使用 Http 等不安全的网络协议,而默认采用 TLS 1.2。

  服务器因此需要更新,以解析相关数据。但是现在公司的项目使用的是
HTTP
协议,使用私有加密方式保证数据安全,现在也不能马上改成
HTTPS
协议传输。如不更新,可通过在 Info.plist 中声明,倒退回不安全的网络请求。

  现有两种解决方案:

  方案一:立即让公司的服务端升级使用TLS 1.2

  方案二:虽Apple不建议,但可通过在 Info.plist 中声明,倒退回不安全的网络请求依然能让App访问指定http,甚至任意的http,

      1.在Info.plist中添加
NSAppTransportSecurity
类型
Dictionary


      2.在
NSAppTransportSecurity
下添加
NSAllowsArbitraryLoads
类型
Boolean
,值设为
YES


      3.
清理缓存即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: