WKWebView 尝试在本地网络下加载 https 网页时显示空白页面

dav*_*ton 3 swift wkwebview swiftui

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

我收到此错误:

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

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

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

小智 8

除了允许 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)
    
}
Run Code Online (Sandbox Code Playgroud)