WKwebView 在 iOS 应用程序中使用 WebPageProxy 错误代码 1003 间歇性地给出错误
Posted
技术标签:
【中文标题】WKwebView 在 iOS 应用程序中使用 WebPageProxy 错误代码 1003 间歇性地给出错误【英文标题】:WKwebView give error intermittently with WebPageProxy error code 1003 in iOS app 【发布时间】:2021-03-31 12:55:07 【问题描述】:我有 ios 应用程序,其中有 WKWebview。用于从远程 URL 加载 html。我在日志中收到错误
[Process] 0x1550bfe18 - [pageProxyID=42, webPageID=43, PID=1902] WebPageProxy::didFailProvisionalLoadForFrame: frameID = 3, domain = NSURLErrorDomain, code = -1003
按照 didFailProvisionalNavigation
方法获取 WKWebview 的调用。
这是间歇性发生的。表示在一段时间内成功使用 WKWebbView 中的网页,并在一段时间内出现上述错误。
同样的事情在 android 设备上运行没有任何问题。
-
为什么它不是一直失败?
这是 iOS 应用的问题吗?
这是服务器问题吗?
服务器出现此错误的原因是什么?
我需要在服务器上更新哪些配置?
【问题讨论】:
【参考方案1】:处理包含不受信任证书的链接
func webView(_ webView: WKWebView, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void)
guard let serverTrust = challenge.protectionSpace.serverTrust else
completionHandler(.cancelAuthenticationChallenge, nil)
return
let exceptions = SecTrustCopyExceptions(serverTrust)
SecTrustSetExceptions(serverTrust, exceptions)
completionHandler(.useCredential, URLCredential(trust: serverTrust));
【讨论】:
以上是关于WKwebView 在 iOS 应用程序中使用 WebPageProxy 错误代码 1003 间歇性地给出错误的主要内容,如果未能解决你的问题,请参考以下文章
iOS - UIWebView 被 WKWebView 取代,但对于 Apple 它仍然存在