我正在使用 WKWebView 运行一个 web 应用程序,它从名为Web_Assets 的Bundle 目录加载内容和资产(html、js、img、css ...)。
我像这样加载index.html,并将Web_assets设置为baseURL:
if let filePath = Bundle.main.path(forResource:"index", ofType:"html", inDirectory: "Web_Assets") {
let html = try String(contentsOfFile: filePath, encoding: .utf8)
webView.loadHTMLString(html, baseURL: Bundle.main.resourceURL?.appendingPathComponent("Web_Assets"))
}
Run Code Online (Sandbox Code Playgroud)
这工作得很好:index.html 已加载,并且 Web_Assets 用作其他资源的基本路径,没有任何问题。我还可以使用等效的 loadFileURL 方法(根据我的理解)。
但是,现在我想使用Document目录中的 WKWebView 中的其他资源(在我的例子中是视频),该目录是静态的并且可以通过 iTunes 文件共享进行管理,同时当然保持当前的架构不变(Bundle 目录中的 Web 资源) )。
例如,我的页面index.html将从Web_Assets加载他的style.css和其他资源,并显示位于Document中的HTML5视频
是否有可能做到这一点 ?
想法(我不知道如何实现):
感谢您的帮助 !
编辑 1: 想法 1 是不可能的,因为 Bundle 目录是只读的。文档无法在 Web_assets 中进行符号链接。我也无法将 Web_assets …