【问题标题】:Unable to load webpage in WKWebView无法在 WKWebView 中加载网页
【发布时间】:2018-09-28 02:30:11
【问题描述】:

我有一个应用程序,它是一个简单的 WebKit,它显示了一个由 nginx 反向代理前端的网页,该代理将您转发到另一个页面,该页面不再在 ios 12 上运行,但它在 ios 11 上运行良好。当它尝试在模拟器或物理设备上加载它会闪烁几次屏幕,然后进入一个没有任何东西的白屏,我在控制台日志中没有看到任何错误。

--EDIT-- 我现在在控制台中看到这个错误:

2018-10-02 20:27:57.332338-0500 PawsClaws-iOS[56878:10395839] 
[BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C2.1:2] . 
[0x7fb677418f80] get output frames failed, state 8196

import UIKit
import WebKit

class ViewController: UIViewController, WKUIDelegate {
    @IBOutlet weak var webView: WKWebView!

    override func viewDidLoad() {
        super.viewDidLoad()

        let url = URL(string: "http://inserturlhere")
    //        let url = URL(string: "https://apple.com")
        webView.load(URLRequest(url: url!))
    }
}

我尝试使用 devtools 查看 safari 上的日志,但不幸的是我什么也没看到。如果我将网址更改为指向另一个不重定向的网址(即谷歌),它就可以正常工作。此外,我可以在任何浏览器(Chrome、Safari、Firefox)的常规浏览器会话中打开相同的 url。谁能帮我指出诊断的方向?

【问题讨论】:

  • 通过应用背景颜色或类似的东西检查 webView 是否在屏幕上。我认为这可能是问题
  • 如果我使用另一个 url,webview 可以工作,所以 webview 不是问题。
  • 网址??您正在尝试打开
  • 我遇到了同样的问题,我这样解决了:stackoverflow.com/a/56966367/8818448

标签: ios swift xcode ssl webkit


【解决方案1】:
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
        <key>NSExceptionDomains</key>
        <dict>
            <key>abc.com</key>
            <dict>
                <key>NSExceptionAllowsInsecureHTTPLoads</key>
                <true/>
                <key>NSIncludesSubdomains</key>
                <true/>
            </dict>
        </dict>

</dict>

您是否已将此添加到您的 info.plist 中?

【讨论】:

  • 我没有,我刚试过,我得到了同样的错误。这是 ios12 中不允许重定向/子域的新功能吗?
  • 我现在看到这个错误:2018-10-02 20:27:57.332338-0500 PawsClaws-iOS[56878:10395839] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C2.1:2] [0x7fb677418f80] 获取输出帧失败,状态 8196
猜你喜欢
  • 1970-01-01
  • 2017-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多