【问题标题】:WKWebView shows blank page when trying to load a https webpage under a local network尝试在本地网络下加载 https 网页时,WKWebView 显示空白页面
【发布时间】:2021-05-11 15:40:31
【问题描述】:

我正在尝试在设备连接到特定 WiFi 后加载本地网络下的网页。

我收到此错误:

WebPageProxy::didFailProvisionalLoadForFrame: frameID = 3,域 = NSURLErrorDomain,代码 = -1202

我可以毫无问题地加载我尝试的任何其他网页。

我可以在 xcode 模拟器中拉出 Safari 上的网页,并且可以看到它,但是我之前确实得到了“此连接不是私有”页面,并且必须单击“访问此网站”按钮。不知道是不是这个问题。

【问题讨论】:

  • 连接不是私人问题几乎可以肯定是它的根源。如果您更改传输安全规则,它是否有效? stackoverflow.com/a/40299837/560942
  • @jnpdx 我试图允许任意加载,但这并没有改变任何东西。

标签: swift swiftui wkwebview


【解决方案1】:

除了允许在 Info 中任意加载之外,您可能还需要在 WKNavigationDelegate 中实现此功能

func webView(_ webView: WKWebView, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
    guard let serverTrust = challenge.protectionSpace.serverTrust  else {
        completionHandler(.useCredential, nil)
        return
    }
    let credential = URLCredential(trust: serverTrust)
    completionHandler(.useCredential, credential)
    
}

【讨论】:

  • 太棒了,这个解决方案对我有用。你节省了我很多时间和精力
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-06
相关资源
最近更新 更多