如何在Safari上打开本地html文件?

时间:2017-01-03 17:15:12

标签: html ios swift safari swift3

我想在Safari应用程序的Swift 3集成上打开本地html文件。

我知道如何使用网址执行此操作。这是我用来做的代码:

let encodedString = url.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)

let svc = SFSafariViewController(url: NSURL(string: encodedString!) as! URL)
self.present(svc, animated: true, completion: nil)

但是我无法对本地文件做同样的事情。我已经在我的项目中复制了我的html文件,我可以在目录树上看到它,但我无法使其工作。我查看Load local html into UIWebView using swift作为参考。

如何将本地html文件加载到Safari集成中?

提前致谢!

1 个答案:

答案 0 :(得分:5)

您无法使用SFSafariViewController

执行此操作
  

来自Apple文档:

<强> 1。选择最佳Web查看类

如果您的应用允许用户从互联网上的任何位置查看网站,请使用SFSafariViewController课程。如果您的应用自定义,互动或控制网络内容的显示,请使用WKWebView课程。

<强> 2。如果你看一下init的声明

convenience init(url URL: URL)

url:要导航到的网址。该网址必须使用httphttps计划。

使用Webkit或WebView

<强> helloAshok.html

<html>
    <head>
    </head>
    <body>
        <br />
        <h2> Welcome ASHOK</h2>
    </body>
</html>

<强> ViewContrller.swift

class ViewController: UIViewController {
    @IBOutlet weak var myWebView: UIWebView!

    override func viewDidLoad() {
        super.viewDidLoad()

        let localFilePath = Bundle.main.url(forResource: "helloAshok", withExtension: "html")
        let request = URLRequest(url: localFilePath!)
        myWebView.loadRequest(request)
    }
}

<强> 输出:

enter image description here