来自文档目录的WKWebView加载html在设备上不起作用

时间:2017-11-20 18:43:34

标签: html ios swift ios11 wkwebview

所以,我已经下载了带有html文件的文件夹。

folders struct

我试图在WKWebView中打开它。

let documentsUrl = fileManager.urls(for: .documentDirectory, in: .userDomainMask)[0]
let url = documentsUrl.appendingPathComponent("\(model.sourceFileId)/index.html") 
self.webView.loadFileURL(url, allowingReadAccessTo: url)

它在模拟器上工作正常

screenshot from simulator

但不在设备上

screenshot from device

看起来它只是无法打开css和图像文件。但为什么?我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

将文件复制到val fields = evaluator.getActiveFields.asScala for (f: InputField <- fields) { println(f.getName) } 并打开文件URL,它可以正常工作。我用Objective-C风格编写了代码。

NSTemporaryDirectory()

答案 1 :(得分:0)

使用temp目录保存和打开文档的快速版本。

            let docData = data as NSData
            let tempDirectory = URL(fileURLWithPath: NSTemporaryDirectory())
            let tmpURL = tempDirectory.appendingPathComponent(response?.suggestedFilename ?? "fileName.pdf")
            do {
                try data.write(to: self.tmpURL! )
            } catch {
                self.showError()
                return
            }
            if FileManager.default.fileExists(atPath: self.tmpURL!.path){
                DispatchQueue.main.async {
                    self.webView.loadFileURL(self.tmpURL!, allowingReadAccessTo: self.tmpURL!)
                }
            }
            else{
                self.showError()
            }