端点需要 SSL
在 iOS 9 中引入,所有端点都必须遵守 HTTPS 规范。
任何未使用 SSL 的端点都将失败,并在控制台日志中显示警告。对于你的应用程序,似乎互联网连接失败。
配置例外:将以下内容放在 Info.plist 文件中:
- 允许特定的域(testdomain.com) 只 :
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>testdomain.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
允许这种行为的关键是 NSExceptionAllowsInsecureHTTPLoads
。在这种情况下,应用程序将仅允许 HTTP 连接到提到的域(testdomain.com)并阻止所有其他 HTTP 连接。
关键 NSIncludesSubdomains
指定还应允许所提及域(testdomain.com)的任何和所有子域。
- 允许任何域名:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
在这种情况下,应用程序将允许 HTTP 连接到任何域。自 2017 年 1 月 1 日起,使用此标志将导致 App Store 审核,应用程序开发人员必须首先解释他们为何需要使用此例外。可能的解释包括:
- 加载不包含个性化信息的加密媒体内容的应用程序。
- 与无法升级以使用安全连接的设备的连接。
- 连接到由另一个实体管理但不支持安全连接的服务器。