我正在尝试在UIWebView中加载HTTP链接。链接来自我的网站,因此它们是可靠的。我在互联网上搜索并找到了解决方案:How can I add NSAppTransportSecurity to my info.plist file?
在遵循该解决方案后,我的info.plist看起来像这样。:
即使进行了更改,我也无法在UIWebView中加载HTTP链接。我收到以下错误:
App Transport Security阻止了明文HTTP(http://)资源加载,因为它不安全
我做错了吗?
更新:
在评论中做出Ramshad建议的更改之后,它仍然不起作用。 见下图:
答案 0 :(得分:13)
应该这样做,你需要在你的Plist中添加以下记录 Apple Documentation
NSAppTransportSecurity< - 类型字典
NSAllowsArbitraryLoads< - 类型布尔值YES
答案 1 :(得分:3)
您可以尝试添加所有内容,而不使用“http://”:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>mydomain.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
</dict>
</dict>
答案 2 :(得分:2)
答案 3 :(得分:0)
你试过这个吗?
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>www.mydomain.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionMinimumTLSVersion</key>
<string>TLSv1.0</string>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
答案 4 :(得分:0)
我认为您拼错了链接或域名。
我遇到了同样的问题,在再次检查123.company.othercompany.com
的域名后,我将company.com
更改为othercompany.com
,然后开始加载外部网站。
答案 5 :(得分:0)
查看本文:link。
应用传输安全性(ATS)通常不允许我们的应用连接到HTTP服务器,但是您可以添加一个特殊的例外,以允许UIWebView和WKWebView加载不安全的内容。
TL; DR
只需添加到您的.plist
文件中即可:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
</dict>
NSAllowsArbitraryLoadsInWebContent
在iOS 9.0中可用,因此适合您。