将共享文档文件夹中的文档加载到WKWebView中

时间:2017-02-07 22:07:38

标签: ios swift

当使用iTunes文件共享将文档添加到应用程序时,我在尝试将文档加载到WKWebView时遇到问题。

如果我在应用程序中包含该文件,我可以加载它。

我正在使用此代码来加载文件:

let documentsURL = try! FileManager().url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
let fooURL = documentsURL.appendingPathComponent(docFileName)
let docURL = URL(fileURLWithPath: fooURL.path)
let req = URLRequest(url:docURL)
docView!.load(req)

docURL看起来像这样: 文件:///var/mobile/Containers/Data/Application/432E716E-F70D-4985-814C-FFE7ECE53EF8/Documents/filename.pdf

我尝试使用此代码检查文件是否存在:

FileManager().fileExists(atPath: fooURL.path)

返回true。我还尝试将文件夹中的文件复制到app文件夹中,但这会返回找不到文件的错误(即使检查文件后也是如此)

WKWebView能否从这个位置加载?或者我错过了什么?

1 个答案:

答案 0 :(得分:2)

也许您正在寻找loadFileURL(_:allowingReadAccessTo:)

虽然我没有在文档中明确说明这一点,但如果WKWebView的安全策略妨碍你的话,我不会感到惊讶,而且这种方法的存在似乎证实了这一点; - )

快乐的编码!