iOS 11 Xcode 9不再适用App Transport Security

时间:2017-11-15 06:40:39

标签: ios app-transport-security

我一直在开发应用程序...因为禁用ATS的iOS 11更新不再起作用我已经在info.plist中添加了以下内容

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

当我从未知域下载图片时,我无法使用域例外密钥。 以下是我尝试下载图片时的结果

Task <C3DC30F1-5869-46F6-ABA4-5E1EC8334FD8>.<0> HTTP load failed (error code: -1005 [4:-4])
NSURLConnection finished with error - code -1005

2 个答案:

答案 0 :(得分:4)

我知道IOS 11不再支持以下内容:

  • RC4 3DES-CBC AES-CBC
  • MD5 SHA-1
  • &lt; 2048位RSA发布密钥 - 与服务器的所有TLS连接
  • 的http://
  • 的SSLv3
  • TLS 1.0
  • TLS 1.1

添加以下内容,我们可以绕过ATS(App Transport Security)错误:

<key>NSAppTransportSecurity</key> <dict>
     <key>NSExceptionDomains</key>
     <dict>
         <key>mydomain.com</key>
         <dict>
             <!--Include to allow subdomains-->
             <key>NSIncludesSubdomains</key>
             <true/>
             <key>NSExceptionRequiresForwardSecrecy</key>
             <false/>
         </dict>
     </dict> </dict>

参考链接:iOS 11 ATS (App Transport Security) no longer accepts custom anchor certs?

答案 1 :(得分:0)

我也遇到了以下错误-

Task <DEBDD8DA-3D0D-43E0-B61A-CEFBDD6FF070>.<1> finished with error - code: -999
finished with error - code: -1001
Task <2C0D248B-1FBE-4DA0-B50A-0421E2509F42>.<2> load failed with error Error Domain=NSURLErrorDomain Code=-1001 "The request timed out.

我以前使用的是“常规”标签下的自动管理签名选项。创建新的临时配置文件后,我再也没有这个问题了。

解决方案-请勿使用自动管理签名选项并创建并添加您的临时配置文件