我有一个位于捆绑包中的 html 文件,并且我正在使用 WKWebView 从该 html 加载内容:
let fileURL = URL(fileURLWithPath: Bundle.main.path(forResource:"demo", ofType: "html")!)
webView.loadFileURL(fileURL, allowingReadAccessTo: fileURL)
然而,这个 html 文件有一些脚本试图访问位于 Documents 目录中的文件(一些视频保存在那里),但得到“无法加载本地资源”。错误。我在 AVPlayerViewController 的其他地方使用这些文件,所以我知道这些文件存在并且我使用的 url 是正确的。
我试过了:
1.将文档目录 url 传递给 allowedReadAccessTo 参数 - webview 甚至不加载
2.将文件目录中的项目复制到 tmp 目录并在脚本中传递这个 (tmp dir) url -它可以工作,但是这个过程发生的太多了,由于内存问题和时间,我不想复制这么多文件它需要大文件。
3.将 html 文件及其脚本从捆绑包复制到文档目录 -不相关,因为我使用的脚本不时更改,因此为了确保用户始终拥有(脚本的)最新版本,我将不得不复制每次应用程序启动时。
那么,有没有其他方法可以让 html 文件(位于 bundle 中)访问文档文件?
提前致谢,