应用传输安全已阻止明文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 Loads
并Allow Arbitrary Loads in Web Content
…并给它们两个键YES
。
它为我工作,希望为你工作,为我的英语感到抱歉。