【问题标题】:App Transport Security does not work any more with iOS 11 Xcode 9App Transport Security 不再适用于 iOS 11 Xcode 9
【发布时间】:2018-04-28 07:06:01
【问题描述】:

我一直在开发一个应用程序...因为禁用 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

【问题讨论】:

  • 这个错误可能是没有连接到ATS,而是表示网络超时。你能先检查一下吗:stackoverflow.com/questions/25372318
  • ATS 异常适用于 iOS11。您的代码或服务器端可能存在其他问题。

标签: ios app-transport-security


【解决方案1】:

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

  • RC4 3DES-CBC AES-CBC
  • MD5 SHA-1
  • 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?

【讨论】:

    【解决方案2】:

    我也遇到了同样的问题,我得到以下错误 -

    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.
    

    之前我使用的是“常规”标签下的自动管理签名选项。当我创建新的临时配置文件时,我不再遇到这个问题了。

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

    【讨论】:

      猜你喜欢
      • 2015-11-26
      • 2015-11-30
      • 2015-09-02
      • 1970-01-01
      • 2016-04-17
      • 1970-01-01
      • 2015-08-24
      相关资源
      最近更新 更多