0

标题说(相当)全部:我想分发一个应用程序,其中一些 HTML 页面预加载到本地 Documents 文件夹中(它们反映了互联网上可用的迷你移动网站的内容);然后,当页面内容更新时,应用程序中的本地 HTML 文件也应该更新,以便用户在不连接互联网时也可以浏览更新的信息。

该应用程序必须从第一次启动开始工作,这要归功于预加载的页面,然后定期自我更新(我不需要检查单个文件的修改日期/时间,在本地复制时检查和更新它们就足够了超过 x 天)。

问题:我想我可以做到这一切,但我问自己是否有一些框架/类可以自动完成,因为这听起来很痛苦:)

4

2 回答 2

1

考虑使用ASIHTTPRequest。看看这个SO question

具体来说,您可能想查看 ASIWebPageRequest:

下载完整的网页,包括图像和样式表等外部资源。即使没有网络连接,任何大小的页面都可以无限期地缓存,并显示在 UIWebview / WebView 中。

我也将AFNetworking用于我自己的个人项目,它让我的生活轻松了 10 倍。在AFNetworking 常见问题页面上,有一个关于离线查看缓存机制的问题。它提到NSURLCache在 iOS 5 中引入了对缓存到磁盘以供离线使用的支持 - 但仅适用于http. 如果需要缓存https,请考虑使用SDURLCache

这是关于 iOS 网络缓存的简短附加资源。阅读标题为iOS 网络缓存的部分

于 2013-01-16T00:07:15.877 回答
-1

如果您正在考虑使用相当于浏览器缓存的方式预先弹出您的 iOS 应用程序,那么 https://github.com/rs/SDURLCache可能值得研究。

它与现有的 NSURLConnection 框架(例如 AFNetworking)挂钩,您只需在 NSURLRequest 中设置正确的缓存策略。

鉴于它的开源,您应该能够弄清楚如何将数据放置在哪里,以便它加载它而不是第一次从服务器获取,然后只需指定您希望缓存何时清除自身以便从服务器获取它?

于 2013-01-16T00:01:54.883 回答