在属性NSAppTransportSecurity下的info.plist中,我添加了一组与我的应用程序通信的域。但由于某些原因,我的设置仅适用于某些已添加的域,而不是所有域,但我不知道为什么。对任何想法我都会非常有帮助。提前谢谢。
例如,现在它适用于域googleapis.com但不适用于imeteo.sk,imeteo.cz或任何子域(http://m.imeteo.cz)
这是我的info.plist的片段
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowExceptionDomains</key>
<dict>
<key>imeteo.cz</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSExceptionMinimumTLSVersion</key>
<string>TLSv1.1</string>
<key>NSIncludesSubdomains</key>
<true/>
</dict>
<key>imeteo.sk</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSExceptionMinimumTLSVersion</key>
<string>TLSv1.1</string>
<key>NSIncludesSubdomains</key>
<true/>
</dict>
<key>googleapis.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSExceptionMinimumTLSVersion</key>
<string>TLSv1.1</string>
<key>NSIncludesSubdomains</key>
<true/>
</dict>
</dict>
</dict>
尝试在webview中加载某些域或子域后,我得到了这个:
App Transport Security已阻止明文HTTP(http://)资源加载,因为它不安全。可以通过应用程序的Info.plist文件配置临时例外。
答案 0 :(得分:0)
尝试使用 NSTemporaryExceptionAllowsInsecureHTTPLoads 和 NSTemporaryExceptionMinimumTLSVersion 替换 NSExceptionAllowsInsecureHTTPLoads 和 NSExceptionMinimumTLSVersion ,如下所述:
http://www.neglectedpotential.com/2015/06/working-with-apples-application-transport-security/
此外,我使用 NSExceptionDomains 而不是 NSAllowExceptionDomains 。