如何在iOS中处理“CFNetwork SSLHandshake失败”

有些时候,我得到CFNetwork SSLHandshake failed -(9806)在我的代码,但我不知道为什么这是发生,因为我的代码运行顺利,除了当我运行它在iOS 6,然后在iOS 7 64位我得到这个警告。
有人可以build议我,如何处理这个问题?

通常当我得到CFNetwork SSLHandshake failed -(*)因为我的本地WiFinetworking(设备连接到networking,而不是互联网)

在另一个networking上再次尝试(3G是我最快的解决scheme)

这也可能是由于iOS 9引起的。除非您在应用程序的Info.plist文件中指定exception域,否则iOS 9和OSX 10.11需要TLSv1.2 SSL用于计划请求数据的所有主机。

你可以在这里find更多信息: https : //developer.apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/

或史蒂芬·彼得森的答案在这里,这是很清楚: https : //stackoverflow.com/a/30720929/1485701

有同样的问题,并确认后,服务器获得POST解决scheme是这样的:

  • 清理项目:产品 – >清洁
  • 从iOS设备/ iOS模拟器中删除您的应用程序,然后退出模拟器
  • 编译你的应用程序并运行它

就我而言,就这么简单。

我有同样的问题,在我的情况下,解决scheme是在我写的代码中

 initWithScheme:@"https" 

代替

 initWithScheme:@"http" 

所以确保你使用正确的协议

另一个解决scheme:检查date/时间是否设置正确在您的手机。 直到某个date,SSL证书才有效。

https://superuser.com/a/760211