我的项目中突然出现了这个错误,其中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。
答案 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
末尾的分号。
设置上面的环境变量肯定有助于确定问题的位置,或者至少为您提供一个起点来开始诊断有点模糊的错误消息。