使用Swift 3在MacOS应用程序中加载WebView中的本地HTML文件

时间:2016-12-29 10:41:47

标签: html swift xcode macos webview

我很难用这个。我不确定我做错了什么。

以下是我在iOS UIWebView中的表现:

    let url = Bundle.main.url(forResource: "index", withExtension: "html")
    let request = NSURLRequest(url: url!)
    webView.loadRequest(request as URLRequest)

不幸的是,这对OS X应用程序不起作用。我发现了一些曾经与Swift 2一起使用的代码。我对它进行了一些更改以使其与Swift 3一起使用,但我仍然遇到错误。

    let url = Bundle.main.url(forResource: "index", withExtension: "html")
    self.webView.mainFrame.load(NSURLRequest(URL: NSURL(string: url)!))

我有什么选择?提前谢谢!

2 个答案:

答案 0 :(得分:5)

尝试这个简单的步骤,对我而言

let urlpath = Bundle.main.path(forResource: "index", ofType: "html");
let requesturl = URL(string: urlpath!)
let request = URLRequest(url: requesturl!)
webView.mainFrame.load(request)

答案 1 :(得分:2)

我已在另一个帖子上使用sdbrain's回答修复了我的问题。

基本上从项目中删除根文件夹并将其选择到另一个文件夹。然后,将根文件夹从finder直接拖到Xcode。 您将看到为添加的文件夹创建组或创建文件夹引用的选项。并根据需要显示复制的复选框。我已选择,复制所需选项并创建文件夹引用选项。

我的以下代码有效

    if let path = Bundle.main.path(forResource: "index", ofType: "html", inDirectory: "wwwroot") {
        webView.loadRequest(URLRequest(url: URL(fileURLWithPath: path)) )
    }