首页 > 解决方案 > 尝试在本地网络下加载 https 网页时,WKWebView 显示空白页面

问题描述

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

我收到此错误:

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

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

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

标签: swiftswiftuiwkwebview

解决方案


除了允许在 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)
    
}

推荐阅读