WKWebView 没有在模拟器上加载网页

Posted

技术标签:

【中文标题】WKWebView 没有在模拟器上加载网页【英文标题】:WKWebView is not loading webpage on simulator 【发布时间】:2020-04-08 09:50:28 【问题描述】:

我正在 WKWebView 中加载一个 Web URL。我添加了网络传输层和不同线程中提供的所有其他建议。 但是在 Device bot 上工作得非常好,而不能在模拟器上工作。 请让我知道我错过了什么?

 let preferences = WKPreferences()
    preferences.javascriptEnabled = true
    let webConfiguration = WKWebViewConfiguration()
    webConfiguration.preferences = preferences
    webView = WKWebView(frame: view.bounds, configuration: webConfiguration)


    webView.uiDelegate = self

    webView.navigationDelegate = self
    view.addSubview(webView)

    let request = URLRequest(url: myURL!)
    webView.load(request)

【问题讨论】:

可以发一下你的网址吗? @shraddha11,我无法分享我的组织 URL。但是你能建议我不加载模拟器的可能原因吗? @shraddha11, contents.tdscpc.gov.in 尝试在创建 url 时添加 https:// 看看是否有帮助。 let request = URLRequest(url: "contents.tdscpc.gov.in/")...from这个代码不清楚你有没有添加。 @pankajnigam 查看我的答案,让我知道它是否适合您? 【参考方案1】:

1.将你的网址替换为URL(string: "https://contents.tdscpc.gov.in/")

执行第 1 步后,您将收到另一个与 SSL 安全连接相关的错误。要解决它,您应该在 plist 中添加以下代码。

    将此添加到您的 plist 中。

    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
    

我在模拟器上试过了,效果很好。

【讨论】:

以上是关于WKWebView 没有在模拟器上加载网页的主要内容,如果未能解决你的问题,请参考以下文章

无法仅将本地 html 文件加载到设备上的 WKWebView 中(适用于模拟器)

wkwebview和UIWebView调试技巧

WKWebView崩溃iOS9

如何使用 WKWebview 从 iPad 的 Document 目录加载 javascript 和 css 资源?

WebKit

通过 WKWebView 应用于 Javascript 的样式表在模拟器上工作,在设备上失败