iOS 11.2.1 Xcode 9.2 BoringSSL SSL_ERROR_ZERO_RETURN(6)

时间:2018-01-31 02:24:17

标签: ios objective-c xcode

我的项目中突然出现了这个错误,其中WKWebView显示了一个页面。该页面像以前一样加载。但是现在当我尝试从该页面导航到另一个页面时,我收到了这个错误:

[BoringSSL] Function boringssl_session_errorlog: line 2871 [boringssl_session_read] SSL_ERROR_ZERO_RETURN(6): operation failed because the connection was cleanly shut down with a close_notify alert

它似乎与我的电脑/设备有关,因为我之前从未见过它。

我发现的一些事情说我需要确保将另一个链接标志设置为-ObjC。还可以将“任意载荷”设置为“是”。这两个都已设置,错误仍在继续。

该网页正在使用TLS 1.2。

1 个答案:

答案 0 :(得分:1)

如果没有更详细的记录,就无法确定显示错误的确切原因。

CFNetwork处理Foundation网络类的核心 - 它还具有(经常被忽略的)通过 CFNETWORK_DIAGNOSTICS 环境变量进行详细记录的功能。

以编程方式启用CFNetwork诊断日志记录

setenv("CFNETWORK_DIAGNOSTICS", "3", 1);

应将其设置为0到3之间的整数值,其中0表示关闭,较高的数字会逐渐增加日志记录。在正常开发期间,您可以通过Xcode的方案编辑器设置此环境变量。当应用程序从Xcode运行时,CFNetwork日志条目将出现在调试控制台区域中(如果不可见,请选择View> Debug Area> Show Debug Area)。

环境变量应该放在应用程序启动序列的开头。通常将它放在main的开头就足够了,但是如果你有使用CFNetwork的C ++静态初始化器,你必须把它放在那些之前。

  

注意:在Swift中,此代码将进入main.swift。默认情况下Swift应用程序   没有main.swift; “The Swift Programming Language”解释了如何   添加一个。
   *另请注意,在Swift中删除setenv末尾的分号。

设置上面的环境变量肯定有助于确定问题的位置,或者至少为您提供一个起点来开始诊断有点模糊的错误消息。

CFNetwork Diagnostic Logging