28

根据https://developer.apple.com/library/content/releasenotes/General/WhatsNewIniOS/Articles/iOS9.html#//apple_ref/doc/uid/TP40016198-SW14的文档,Apple 强制使用 HTTPS over HTTP在 iOS 9 中。

应用传输安全

应用传输安全 (ATS) 允许应用将声明添加到其 Info.plist 文件中,该文件指定需要与其进行安全通信的域。ATS 可防止意外泄露,提供安全的默认行为,并且易于采用。无论您是创建新应用还是更新现有应用,都应尽快采用 ATS。

如果你正在开发一个新的应用程序,你应该只使用 HTTPS。如果您有一个现有的应用程序,您现在应该尽可能多地使用 HTTPS,并制定一个计划以尽快迁移您的应用程序的其余部分。

这对 Web 应用程序意味着什么,尤其是。基于 Sencha Touch 和 Cordova/PhoneGap 的?我的网络应用程序可以配置为任何服务器地址,因此我无法在 plist 文件中将它们列入白名单。这是否仅适用于使用本机请求(通过 NSURLRequest 等)的应用程序?

4

4 回答 4

17

试试这个: cordova plugin add https://github.com/robertklein/cordova-ios-security.git

它将*-Info.plist在构建过程中将以下部分添加到文件中:

<key>NSAppTransportSecurity</key> 
<dict>
  <key>NSAllowsArbitraryLoads</key> <true/> 
</dict>
于 2015-09-17T08:22:20.197 回答
15

如果您不确定您的应用程序将连接哪个 URL,或者如果您连接到多个 URL,您可以通过在 info.plist 文件中添加以下密钥来绕过 ATS(应用程序传输安全)。

<key>NSAppTransportSecurity</key> 
<dict>
    <key>NSAllowsArbitraryLoads</key> <true/> 
</dict>
于 2015-06-16T17:13:07.473 回答
7
于 2015-06-17T03:43:11.603 回答
0
于 2015-12-10T20:41:09.743 回答