IOS 9 App Transport Security阻止了明文HTTP问题

时间:2015-09-04 08:06:54

标签: http nsurlconnection nsurlsession ios9 app-transport-security

我在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。

谢谢, 阿宾

2 个答案:

答案 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中进行例外处理并继续。如果您将人们的出生日期或社会安全号码扔掉,可能不会... ...