应用传输安全已阻止明文HTTP资源

在这里输入图像说明

我在swift中使用Socket.IO库,我不断收到此错误:

应用传输安全已阻止明文HTTP(http://)资源加载,因为它是不安全的。 临时例外可以通过您的应用程序的Info.plist文件进行configuration。

当我试图发送一个http请求。 根据官方的苹果文档,我把键添加到plist,但没有帮助。

你需要像这样纠正它:

在这里输入图像说明

为了方便起见,这是info.plist中正确的xml

<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>localhost</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> <true/> <key>NSTemporaryExceptionMinimumTLSVersion</key> <string>TLSv1.1</string> </dict> </dict> </dict> 

localhost更改为您的实际服务器

检查表NSAppTransportSecurity选项

如果你想要与任何域的所有通信,你可以这样做:

  <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict> 

但是,您应该在开发阶段使用最新版本。

解决这个问题的另一种方法是使用NSAllowsArbitraryLoads键,在默认情况下禁用App Transport Security。 因此,任何不包含在NSExceptionDomains字典中的NSExceptionDomains (或者根本不包含NSExceptionDomains )都将不受App Transport Security的约束。

在这里输入图像说明

我在屏幕截图中看到错误的按键和拼写错误。 这是一个工作的例子:

屏幕

Xcode项目 – >进入info.plist并点击+button,然后添加(应用程序传输安全设置)展开,允许任意负载设置是。 谢谢

我正在使用xCode 8.2。 这有点不同,但是编辑PLIST文件需要在App Transport Security Settings Line …中添加这两个项目:

Allow Arbitrary LoadsAllow Arbitrary Loads in Web Content …并给它们两个键YES

它为我工作,希望为你工作,为我的英语感到抱歉。

在这里输入图像说明

在这里输入图像说明