如何处理;CFNetwork SSLHandshake failed“;在iOS中

如何处理;CFNetwork SSLHandshake failed“;在iOS中,ios,nsurlconnection,cfnetwork,Ios,Nsurlconnection,Cfnetwork,有时我的代码中会出现CFNetwork SSLHandshake failed-(9806),但我不确定为什么会发生这种情况,因为我的代码运行平稳,除非在iOS 6中运行,然后在iOS 7 64位上运行时,我会收到此警告。 有人能告诉我如何处理这个问题吗?当我得到CFNetwork SSLHandshake失败时,(*)这是因为我的本地wifi网络(设备连接到网络,但没有连接到internet) 在另一个网络上再试一次(3G对我来说是最快的解决方案)我也遇到了同样的问题,在我的情况下,解决方案是

有时我的代码中会出现
CFNetwork SSLHandshake failed-(9806)
,但我不确定为什么会发生这种情况,因为我的代码运行平稳,除非在iOS 6中运行,然后在iOS 7 64位上运行时,我会收到此警告。

有人能告诉我如何处理这个问题吗?

当我得到
CFNetwork SSLHandshake失败时,(*)
这是因为我的本地wifi网络(设备连接到网络,但没有连接到internet)


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

我也遇到了同样的问题,在我的情况下,解决方案是我在代码中编写的

initWithScheme:@"https"
而不是

initWithScheme:@"http"

因此,请确保您使用了正确的协议

遇到了相同的问题,在我确认服务器正在获得POST后,解决方案如下:

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

就我而言,就这么简单。

这也可能因为iOS 9而发生。除非在应用程序的Info.plist文件中指定了例外域,否则iOS 9和OSX 10.11要求所有计划从中请求数据的主机使用TLSv1.2 SSL

您可以在此处找到更多信息:

或者史蒂文·彼得森在这里的回答很清楚:
另一种解决方案:检查手机中的日期/时间设置是否正确。SSL证书在特定日期之前有效


但是有什么办法可以处理这个问题,这样我的应用程序就不会崩溃。@JoshK你能把这部分的一些工具放进去吗?这不会让你的应用程序崩溃。这些只是警告。确保您对所有请求都具有很强的可达性。请停止集体编辑问题。当你对老问题这样做的时候,你所做的就是把它们推到时间线的顶端。这很糟糕,因为新的问题被推下了。@Fogmeister前天,iOS 100个活跃问题中有31个是由Arun提供的_k@Fogmeister我不知道这件事,感谢我从您的标签中假设的信息,这是在使用
NSURLConnection
时。请在问题中指定,以及在代码中的何处看到此错误?抱歉@MikeAbdullah,我在上一个项目中遇到过这个问题,目前我不在那家公司工作,我真的不记得那部分代码了,因为我们在应用程序启动时启动了6-7个请求。这不是我的问题,因为我使用的所有WS都是HTTPS。但是,如果您需要通过HTTPS使用数据,会发生什么?很好的建议。还有一件事要补充,史蒂文·彼得森的回答中没有描述,这是有针对性的。
nStemporaryExceptionRequiresForwardSecurity
的默认值为true,因此您的服务器也应该启用它(建议修复一些漏洞),或者您应该在iOS应用程序中将其明确设置为false(不推荐)。