swift - 尝试在本地网络下加载 https 网页时,WKWebView 显示空白页面
问题描述
在设备连接到特定 WiFi 后,我正在尝试加载本地网络下的网页。
我收到此错误:
WebPageProxy::didFailProvisionalLoadForFrame: frameID = 3,域 = NSURLErrorDomain,代码 = -1202
我可以毫无问题地加载我尝试的任何其他网页。
我可以在 xcode 模拟器中打开 Safari 上的网页,并且可以看到它,但是我之前确实获得了“此连接不是私有”页面,并且必须单击“访问此网站”按钮。不确定这是否是问题所在。
解决方案
除了允许在 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)
}
推荐阅读
- android-studio - 如何将 ListView 更改为 RecyclerView?
- flutter - 使用 MaterialApp Builder 跨屏有一个通用的脚手架,但是导航的 AppBar 中不显示返回按钮
- java - 无法解析“:app@debugUnitTest/compileClasspath”的依赖关系:无法解析项目:库名称
- python - 我怎么能做事件“点击屏幕上的按钮(在另一个应用程序中,比如我的世界)”[py]
- unity3d - 当我将该模型导出到统一时,Blender 模型变成了奇怪的姿势
- linker - BigchainDB 前端
- vue.js - VueJs应用程序中的ThreeJs黑屏
- flutter - permission_handler 不询问位置
- javascript - 使用 onmouseover 改变位置
- java - 当我使用 GSON 从服务器获取数据时,尝试在空对象引用上调用虚拟方法“java.util.List project_name.PageInfo.getUsers()”