NSAllowArbitraryLoads
不会很快发布。因此,在iOS 10中,我在info.plist中有这个:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>myAPIdomain</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
</dict>
这适用于我在UIWebView中的API请求和内容。但是,在iOS9中,不支持NSAllowsArbitraryLoadsInWebContent
,建议在iOS 9支持中包含NSAllowsArbitraryLoads
。但我认为这会覆盖我的NSExceptionDomains
设置?如何对我的API和UIWebView的HTTP请求在iOS 9和iOS 10上工作并仍然遵循Apple的规则?
修改
支持iOS 9和iOS 10:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>myAPIdomain</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
答案 0 :(得分:1)
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
如果您不想支持https(TLS 1.2),则可以使用上述条件。但你必须确保它将是一个临时修复。从2017年初开始,Apple将https(TLS 1.2)作为强制性