2

使用 WKWebView 时出现间歇性错误。我们在 WKWebView 上调用 load(URLRequest),并通过decisionPolicyFor navigationAction 进行处理并以allow 回复。

open func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Swift.Void) {
    decisionHandler(WKNavigationActionPolicy.allow)
}

紧接着,在通过网络发送任何请求之前,调用 didFailProvisionalNavigation 并出现以下错误:

Error Domain=NSPOSIXErrorDomain Code=53 “Software caused connection abort” UserInfo={_WKRecoveryAttempterErrorKey=<WKReloadFrameErrorRecoveryAttempter: 0x280764dc0>, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <A4437611-6DB9-4DF1-B437-256A180D42AC>.<83>, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=53}

它不会每次都发生,它似乎只发生在 WKWebView 中的第一个请求上,而且大多数时候我只能重现它一次,然后它才能再次为接下来的 10+ 工作。

如果我只是从 didFailProvisionalNavigation 运行另一个 .load(URLRequest),它会毫无问题地加载。

如何确定导致错误 53 的原因?我真的不想再次从源代码编译 webkit。

4

0 回答 0