iOS 11.2.1 Xcode 9.2 BoringSSL SSL_ERROR_ZERO_RETURN(6)

Tom*_*ond 7 xcode objective-c ios

我在我的项目中突然出现了这个错误,该项目有一个显示页面的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
Run Code Online (Sandbox Code Playgroud)

它似乎与我的电脑/设备有关,因为我从来没有打过这个.

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

该网页使用的是TLS 1.2.

l'L*_*L'l 1

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

\n\n

CFNetwork处理 \xe2\x80\x99s 网络类 \xe2\x80\x94 的核心Foundation。它还具有(经常被忽视的)通过环境变量进行详细日志记录的功能CFNETWORK_DIAGNOSTICS

\n\n

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

\n\n
setenv("CFNETWORK_DIAGNOSTICS", "3", 1);\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

环境变量应放置在 app\xe2\x80\x99s 启动序列的开头。通常将其放在 main 的开头就足够了,但是如果您有使用 C++ 静态初始化程序CFNetwork您\xe2\x80\x99 的 C++ 静态初始化程序,则必须将其放在它们之前。

\n\n
\n

注意:在 Swift 中,此代码将放入main.swift. 默认情况下,Swift 应用\n 不\xe2\x80\x99t 有一个main.swift; \xe2\x80\x9c Swift 编程语言\xe2\x80\x9d 解释了\n 如何添加一个。
\n *另请注意,在 Swift 中删除setenv.

\n
\n\n

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

\n\n

\xe2\x86\xb3 CFNetwork 诊断日志记录

\n