Swift Playgrounds:在WebKit中渲染本地html文件可在模拟器上运行,但不能在设备上运行

时间:2019-03-23 23:14:21

标签: swift webkit swift-playground

我正在尝试使用我在操场上拥有的本地HTML文件来呈现WebKit视图,但它会在模拟器上呈现它,但不在操场上。

我的代码如下:

import UIKit
import Foundation
import PlaygroundSupport
import WebKit

public class Plastic : UIViewController, WKUIDelegate {

    var webView: WKWebView!

    public override func loadView() {
        let webConfiguration = WKWebViewConfiguration()
        webView = WKWebView(frame: .zero, configuration: webConfiguration)
        webView.uiDelegate = self
        view = webView
    }

    public override func viewDidLoad() {
        super.viewDidLoad()

        let url = Bundle.main.url(forResource: "plastic", withExtension: "html")!
        webView.loadFileURL(url, allowingReadAccessTo: url)
        let myRequest = URLRequest(url: url)
        webView.load(myRequest)
    }

    @objc func notification(){
        PlaygroundPage.current.liveView = Banana()
    }

}

这是否可能是操场上的错误,导致本地HTML文件无法呈现?对我来说这是奇怪的行为,我不知道如何解决。

1 个答案:

答案 0 :(得分:0)

大船的艺术。这是我固定其在设备上工作的一种方式。不是最好的方法,但是它可以在我短时间内完成工作。

if let url = Bundle.main.path(forResource: "pla", ofType: "html"){
            do{
                let contents = try String(contentsOfFile: url)
                webView.loadHTMLString(contents, baseURL: nil)
            } catch {
                return
            }

        }