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 间歇性地给出错误的主要内容,如果未能解决你的问题,请参考以下文章

隐藏WKWebView避免VoiceOver识别ios

iOS - UIWebView 被 WKWebView 取代,但对于 Apple 它仍然存在

iOS WKWebView 从点获取 RGBA 像素颜色

在 iOS 应用中更改 WKWebView 的来源

如何用一根手指而不是两根手指移动地图(在 WKWebView 内)

WKwebView 在 iOS 应用程序中使用 WebPageProxy 错误代码 1003 间歇性地给出错误