我在Xcode 7,IOS 9中测试我的应用程序并出现以下错误:
App Transport Security已阻止明文HTTP(http://)资源加载,因为它不安全。可以通过应用的Info.plist文件配置临时例外。
所以我在Info.plist文件中做了一些更改,如下所示,应用程序现在可以在所有IOS版本中正常工作:
<key>NSAppTransportSecurity</key><dict>
<key>NSExceptionDomains</key><dict><key>myserver.com</key><dict>
<key>NSIncludesSubdomains</key><false/>
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/></dict> </dict></dict>
所以我怀疑这是否仍然是一个永久修复,或者我是否应该在我的代码中使用NSURLSession。
谢谢, 阿宾
答案 0 :(得分:7)
将以下内容添加到Info.plist将禁用ATS
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key><true/>
</dict>
答案 1 :(得分:1)
NSURLSession也受App Transport Security的约束。您必须问自己的真正问题是您是否正在传输敏感信息。如果是,您应该使用https以便信息安全。
在这种情况下,与安全传输信息的最佳做法相比,App Transport Security基本上会警告您,您发送或接收的数据是通过不安全的路由进行的。然后由您根据自己对数据的了解做出决定。如果它下载公共的非个人信息,您可能只是在plist中进行例外处理并继续。如果您将人们的出生日期或社会安全号码扔掉,可能不会... ...