iOS9 HTTP 不能正常使用的解决办法(数据无法加载)
输出错误信息:
The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.
原因:
iOS9引入了新特性App Transport Security (ATS)。
新特性要求App内访问的网络必须使用HTTPS协议。 但是现在公司的项目使用的是HTTP协议,使用私有加密方式保证数据安全。现在也不能马上改成HTTPS协议传输。
解决办法:
- 在Info.plist中添加NSAppTransportSecurity类型Dictionary。
- 在NSAppTransportSecurity下添加NSAllowsArbitraryLoads类型Boolean,值设为YES
修改截图:
按照上面提到的方式添加信息,正确的修改会看到下图这个样子,注意类型NSAppTransportSecurity为Dictionary,NSAllowsArbitraryLoads为Boolean,复制粘贴的时候,不要多了空格,segment fault 页面上直接复制,经常会多一个出空格!
注意⚠️,单元测试下面也有一个Info.plist,修改那个文件是没有作用的!