如何解决"CFNetwork SSLHandshake failed (-9806)"

How to solve "CFNetwork SSLHandshake failed (-9806)"

我正在尝试修复 CFNetwork SSLHandshake 失败 (-9806) 警告。 我的应用程序运行良好,但是当我在设备中通过 Xcode 运行 应用程序时,应用程序崩溃了。 我在 .plist 中添加了 NSAppTransportSecurity,

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>yourserver.com</key>
    <dict>
      <!--Include to allow subdomains-->
      <key>NSIncludesSubdomains</key>
      <true/>
      <!--Include to allow insecure HTTP requests-->
      <key>NSExceptionAllowsInsecureHTTPLoads</key>
      <true/>
      <!--Include to specify minimum TLS version-->
      <key>NSExceptionMinimumTLSVersion</key>
      <string>TLSv1.1</string>
    </dict>
  </dict>
</dict>

还测试了不同的 3g/wifi。

需要帮助。提前致谢。

完成这个

也尝试使用不同版本的 TLS,如下所示。

<key>NSTemporaryExceptionMinimumTLSVersion</key> <string>TLSv1.1</string>

还可以通过添加到您的应用程序的 Info.plist:

来检查这一点
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>YOUR_HOST.COM</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSTemporaryExceptionMinimumTLSVersion</key>
            <string>1.0</string>
            <key>NSTemporaryExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
    </dict>
</dict>

我遇到了同样的问题。读完这个 post ,我把它放在 Info.plist 上,现在可以工作了:

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