使用WKWebView时出现间歇性错误。我们在WKWebView上调用load(URLRequest),然后处理definePolicyFor navigationAction并允许返回。
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。