swift – 使用SFSafariViewController缓存网站以供离线使用

我使用以下代码在我的应用程序中显示一个网站.

let webVC = SFSafariViewController(url: myUrl)
present(webVC, animated: true)

现在,我想添加离线阅读.我知道iOS有一个阅读列表,它显然可以缓存文章以供离线使用,但我在SFSafariViewController或其他地方的文档中找不到任何相关内容.

我能找到的唯一一个类似的帖子是这个(Swift iOS Cache WKWebView content for offline view)虽然它依赖于WKWebView并编写自定义Web存档导出器.

必须有更好的方法来实现SFSafariViewController的离线功能,考虑到它是更新的和推荐的应用程序内方法,并且Safari本身使用离线模式进行iOS阅读列表.有帮助吗?

最佳答案 看来你可能在这里运气不好.正如
this radar所建议的那样,SFSafariViewController甚至不会从读取列表中加载数据.

也就是说,我认为没有任何可能实现你想要的东西,除了你提供的链接,编写自定义存档导出器和使用WKWebView.正如它在documentation中所述,SFSafariViewController仅支持http或https url方案,这使得这种方法不适合它.

如果您的应用程序依赖于此功能,那么实现类似的东西应该不会太难,可能使用SwiftSoup或类似的项目来提取和操作链接以反映它们的磁盘路径.

点赞