iOS9 为 info.plist 提供了新设置,称为 NSAppTransportSecurity。到目前为止,我一直无法找到允许我连接到我的 https Web 服务的配置。作为一种解决方法,我的 plist 中有以下行:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
我试图了解 NSAppTransportSecurity 的实际含义或作用。我正在查看Apple 的这份技术说明,但不是很清楚:
所有使用 NSURLConnection、CFURL 或 NSURLSession API 的连接都使用 为 iOS 9.0 或更高版本以及 OS X 10.11 或更高版本构建的应用程序中的应用传输安全默认行为。不符合要求的连接将失败。
NSAppTransportSecurity 只是一种配置安全措施,它会阻止低于 1.2 的 TLS,还是它实际上对 Web 连接应用了某种特殊的传输安全性?
- 选择退出使用 NSAllowsArbitraryLoads 是否会禁用所有形式的 https 通信?
- 或者服务器是否仍然建立 https/ssl/tls 通信,除非没有苹果监督?
- 此要求是否适用于在 iOS9 上运行或将 iOS9 作为最低部署目标的所有应用程序?