ios – Swift WKWebView加载本地文件无法在设备上运行

我试图在iPad(或任何设备)上运行我的应用程序时遇到一些问题,它在模拟器上按预期运行,因此它在设备上不起作用很奇怪.我想知道是否有人可以指出我正确的方向.我花了很多时间阅读这里关于相同问题的所有其他帖子,但是没有一个建议的解决方案有效.

我有一个WKWebView,我正在加载一个本地的html文件.在模拟器上加载文件并且一切正常但在设备上我在日志中收到一条消息:

无法为’/’创建沙箱扩展名

这是我将文件加载到的代码

override func viewDidLoad() {
    super.viewDidLoad()
    var path = NSBundle.mainBundle().pathForResource("Login_UK",
        ofType: "html")
    var url = NSURL(fileURLWithPath: path!)
    var request = NSURLRequest(URL: url!)

    var theConfiguration = WKWebViewConfiguration()
    theConfiguration.userContentController.addScriptMessageHandler(self,
        name: "callbackHandler")

    webView = WKWebView(frame: self.view.frame,
        configuration: theConfiguration)
    webView!.loadRequest(request)
    self.view.addSubview(webView!)
}

任何帮助将不胜感激

亲切的问候,
贝尔巴托夫

感谢任何试图回答我问题的人.我已经发布这是Apple正在尝试解决的WebKit库的错误.但是我找到了一个很好的解决方法,只需要很少的工作.

我打开本地文件并读取其内容,然后将该字符串发送到webView.loadHTMLString方法,该方法编译文件中的hmtl.这样就可以避免iOS无法找到本地文件路径的问题.

以下是读取文件然后为具有相同问题的任何人打开文件的示例:

let path2 = NSBundle.mainBundle().pathForResource("index", ofType: "html")
    var text = String(contentsOfFile: path2!, encoding: NSUTF8StringEncoding, error: nil)!

    webView!.loadHTMLString(text, baseURL: url)

亲切的问候,贝尔巴托夫

相关文章
相关标签/搜索