iOS 9和iOS 10中的应用程序传输安全问题

苹果已经宣布, 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> 

这适用于我的API请求和UIWebView中的内容。 但是,在iOS9中,不支持NSAllowsArbitraryLoadsInWebContent,build议包含NSAllowsArbitraryLoads for iOS 9支持。 但我认为这将覆盖我的NSExceptionDomains设置? 我如何使我的API和UIWebView的HTTP请求都在iOS 9和iOS 10上工作,并仍然遵循苹果的规则?

编辑

为了支持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> 

 <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict> 

如果您不想支持https(TLS 1.2),则可以使用上述条件。 但是你必须确保这将是一个临时的解决scheme。 从2017年早些时候开始,苹果公司将https(TLS 1.2)视为强制性的