2016-01-22 80 views
3

我正在修復CFNetwork SSLHandshake失敗(-9806)警告。 我的應用程序運行良好,但是當我通過設備中的Xcode運行應用程序時,應用程序崩潰。 我在的.plist添加NSAppTransportSecurity,如何解決「CFNetwork SSLHandshake失敗(-9806)」

<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的了測試。

需要幫助。提前致謝。

+0

崩潰是否與ATS有關?請添加例外消息。 –

+0

我正在使用AFNetworking。我認爲崩潰是由於網絡問題,而不是與ATS有關,但由於堆棧溢出的一些建議,我正在使用ATS來防止實時崩潰 –

回答

1

通過這個link

而且具有像下面不同版本的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> 
+0

感謝它的工作 –

0

我最好了同樣的問題。看完這篇文章CFNetwork SSLHandshake failed iOS 9後,我把它放在Info.plist上,現在可以正常工作:

<key>NSAppTransportSecurity</key> 
    <dict> 
     <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 
相關問題