4

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

谢谢, 阿宾

4

2 回答 2

7

将以下内容添加到您的 Info.plist 将禁用 ATS

<key>NSAppTransportSecurity</key>  
<dict>  
    <key>NSAllowsArbitraryLoads</key><true/>  
</dict> 
于 2015-09-28T08:26:04.730 回答
1

NSURLSession 也受App Transport Security的约束。您必须问自己的真正问题是您是否在传输敏感信息。如果是,则应使用 https 以确保信息安全。

在这种情况下,与安全传输信息的最佳实践相比,App Transport Security 基本上是在警告您发送或接收的数据正在通过不安全的路线传输。然后由您根据自己对数据的了解做出决定。如果它正在下载公共的非个人信息,您可能只需在 plist 中创建一个例外并继续。如果你到处乱扔人们的出生日期或社会安全号码,可能不会......

于 2015-09-04T12:17:41.393 回答