webview.load(URLRequest视图保持为空

时间:2017-09-03 10:00:05

标签: ios swift webkit wkwebview

尝试学习iOS开发,但我有以下问题 webview.load(URLRequest(url: url))< - 视图仍为空 这是我正在使用的代码。我使用故事板添加webkit视图(因为Web View被折旧),但它不能按预期工作。使用loadHTMLString工作

import UIKit
import WebKit

class ViewController: UIViewController {

    @IBOutlet weak var webview: WKWebView!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        let url = URL(string: "https://www.stackoverflow.com")!

        //load html string works
        //webview.loadHTMLString("<h1>Hello world!</h1>hi Marc", baseURL: nil)
        //load urlrequest does not work, no error, but empty view
        webview.load(URLRequest(url: url))

    }

2 个答案:

答案 0 :(得分:1)

根据WWDC上的这次演讲https://developer.apple.com/videos/play/wwdc2016/706/,您需要在Info.plist文件中添加此代码:

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

您可以通过以下方式添加:

  1. 右键单击Info.plist
  2. 打开/源代码
  3. 在此标记之前插入代码:&lt; / plist&gt;
  4. 希望这能帮到你;)

    修改

    这适用于带http的网址。网址https://www.stackoverflow.com/有效,因为它有https。 http://www.stackoverflow.com/如果没有&#39;或NSAppTransportSecurity

答案 1 :(得分:1)

似乎给定网址存在问题。我已经检查过其他网址了 https://www.myntra.com https://www.google.com https://www.apple.com。所有都使用相同的代码,但https://www.stackoverflow.com不起作用。因此,Stackoverflow的网站可能会基于Web浏览器进行一些过滤。