45

有时我会进入CFNetwork SSLHandshake failed -(9806)我的代码,但我不确定为什么会发生这种情况,因为我的代码运行顺利,除非我在 iOS 6 中运行它,然后在 iOS 7 64 位上运行它,我收到此警告。
任何人都可以建议我,如何处理这个问题?

4

5 回答 5

41

通常当我CFNetwork SSLHandshake failed -(*)因为我的本地 wifi 网络而得到它时(设备连接到网络但没有连接到互联网)

在另一个网络上再试一次(3G 对我来说是最快的解决方案)

于 2013-11-26T10:32:07.917 回答
11

这也可能是由于 iOS 9 而发生的。iOS 9 和 OSX 10.11 要求您计划从中请求数据的所有主机都使用 TLSv1.2 SSL,除非您在应用程序的 Info.plist 文件中指定异常域。

您可以在此处找到更多信息: https ://developer.apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/

或者史蒂文彼得森在这里的回答,这很清楚: https ://stackoverflow.com/a/30720929/1485701

于 2015-09-24T12:23:15.860 回答
6

有同样的问题,在我确认服务器正在获取 POST 后,解决方案是这样的:

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

就我而言,就这么简单。

于 2015-08-27T09:45:55.357 回答
2

我遇到了同样的问题,就我而言,解决方案是在我编写的代码中

initWithScheme:@"https"

代替

initWithScheme:@"http"

所以请确保您使用正确的协议

于 2014-03-09T02:03:43.507 回答
-2

另一种解决方案:检查手机中的日期/时间是否设置正确。SSL 证书在特定日期之前有效。

https://superuser.com/a/760211

于 2016-11-30T12:00:39.317 回答