Как решить ошибку CFNetwork SSLHandshake (-9806)

Я пытаюсь исправить предупреждение CFNetwork SSLHandshake failed (-9806). Мое приложение работает хорошо, но когда я запускаю приложение через Xcode на устройстве, происходит сбой приложения. Я добавил NSAppTransportSecurity в .plist,

<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.

Нужна помощь. Заранее спасибо.


person Vasu V    schedule 22.01.2016    source источник
comment
Авария связана с ATS? Пожалуйста, добавьте сообщение об исключении.   -  person A-Live    schedule 22.01.2016
comment
Я использую AFNetworking. Я думаю, что сбой связан с проблемой сети и не связан с ATS, но из-за некоторого предложения в переполнении стека я использую ATS для предотвращения сбоя в режиме реального времени.   -  person Vasu V    schedule 22.01.2016


Ответы (2)


Перейдите по этой ссылке

Также попробуйте разные версии 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>
person Satish A    schedule 22.01.2016

У меня была такая же проблема. Прочитав этот пост CFNetwork SSLHandshake failed iOS 9, я поместил его в Info.plist и в настоящее время работает:

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>
person mabg    schedule 23.11.2016