使用 XCode7/Swift2 并尝试加载网页时,我一直被 App Transport Security (ATS) 阻止——原因似乎是 ATS 不适用于 .ninja 网络扩展。
意思是,您可以添加一个例外,domains.com
您可以在 web 视图中访问该站点。但是,您不能为 添加例外domains.ninja
,尽管这是一个有效的网址。我已经对此进行了全面测试。
现在,我能够从 somewebsite.ninja 加载内容的唯一方法是,如果我在 Info.plist 文件中完全关闭 ATS(NSAppTransportSecurity > NSAllowsArbitraryLoads > YES),但我知道这不是正确的做法。我还担心,当我在完成后将我的应用程序提交到应用程序商店时,这可能会导致问题。
有谁知道如何为 .ninja 域添加 ATS 例外?
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>domains.com</key>
<dict>
<key>NSTemporaryExceptionMinimumTLSVersion</key>
<string>TLSv1.1</string>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
<key>domains.ninja</key>
<dict>
<key>NSTemporaryExceptionMinimumTLSVersion</key>
<string>TLSv1.1</string>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
以上将允许您在 web 视图中加载 domain.com 而不是 domain.ninja,即使键/选项与域名扩展名完全相同。