gpt4 book ai didi

ios - WKWebView:从 iOS 中的文档文件夹加载内容

转载 作者:搜寻专家 更新时间:2023-11-01 05:43:48 25 4
gpt4 key购买 nike

在我的应用程序中,我有一个 index.html 作为资源包的一部分,它充当模板。它具有通往不同资源的路径。我将它加载到 WKWebview 中,当应用程序在线时一切正常,所有资源都从 Web 加载,页面完美无缺。

在离线情况下,我在应用程序中将这些资源下载到文档文件夹,并在 Index.html 中将在线路径替换为离线路径,例如

    <image src = "file:///Users/an/Library/Developer/..../Library/Caches/MYApp/Icon.png">
<a href="file:///Users/an/Library/Developer/..../Library/Caches/MYApp/Data.html">

但 Index.html 无法加载它。我尝试使用 wkWebView.load(URLRequest(url: URL(string: "file:///Users/an/Library/Developer/..../Library/Caches/MYApp/Data.html")!)) 并且它可以工作,但是当我尝试通过 Index.html 加载它时,它停止工作。

大多数人都说要有像 GCDWebServer 这样的网络服务器,这是唯一的方法吗?如果我使用它,这个问题会得到解决吗?

最佳答案

您是在向操作系统询问您下载的文件的位置吗?目标目录可以在不通知您的情况下更改,如果您使用硬编码位置,一旦目录结构更改,您将无法成功。你应该得到一个指向用户可写缓存文件夹的 url,如下所示:

let userCachesDirectoryURL =  FileManager.default.urls(for: .cachesDirectory, in: .userDomainMask)[0]

一旦你有了它,你就可以将你的文件名(而不是整个路径)附加到那个 url。我刚刚在我的一个程序中打印出该行的结果,并看到我的应用程序正在使用几个文件夹。

试一试,如果您仍然遇到困难,请告诉我。我可以编写示例代码...(只要我有空)。

关于ios - WKWebView:从 iOS 中的文档文件夹加载内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43782998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com