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

问题描述

我有 iOS 应用程序,其中有 WKWebview。用于从远程 URL 加载 HTML。我在日志中收到错误

[Process] 0x1550bfe18 - [pageProxyID=42,webPageID=43,PID=1902] WebPageProxy::didFailProvisionalLoadForFrame: frameID = 3,domain = NSURLErrorDomain,code = -1003

didFailProvisionalNavigation 方法之后调用 WKWebview。

这是间歇性发生的。表示在 WKWebbView 中成功处理网页一段时间,并出现一段时间以上的错误

同样的事情在 Android 设备上运行没有任何问题。

  1. 为什么它不是一直失败?
  2. 这是 iOS 应用的问题吗?
  3. 这是服务器问题吗?
  4. 服务器出现此错误的原因是什么?
  5. 我需要在服务器上更新哪些配置?

解决方法

处理包含不受信任证书的链接

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));
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...