HTML内容预先加载到应用程序中,然后从互联网更新



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

由于预加载的页面,应用程序必须从一开始就工作,然后定期更新自己(我不需要检查单个文件的修改日期/时间,当本地副本超过x天时,检查和更新它们就足够了)。

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

考虑使用ASIHTTPRequest。看看这个SO问题。

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

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

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

关于iOS的网络缓存,这里有一个简短的额外资源。阅读标题为iOS网络缓存

如果你想用相当于浏览器缓存的东西来预弹出你的iOS应用,那么https://github.com/rs/SDURLCache也许是值得调查的。

它与现有的NSURLConnection框架挂钩,比如AFNetworking,你只需要在NSURLRequest中设置正确的缓存策略。

考虑到它的开源,你应该能够弄清楚如何放置你的数据,所以它加载它没有从服务器取第一次,然后只是指定当你想要缓存清除自己,所以它从服务器取?

最新更新