0

I have an application in the store that has a bunch of UITableViews, each has a bunch of items that when selected, load a UIWebViewthat loads a local HTML file. 我这样做的原因是它允许在没有互联网访问时查看,但是它使更新变得乏味。

我将如何同时保留本地文件和保留 web 文件,以便如果我在 web 上更新一个文件,它会让用户知道有一个“更新”,它可以下载并用新文件覆盖旧文件。这可能吗?就像我会让自己成为编辑我的HTML的后端,并与应用程序建立连接,所以每当我点击保存时,应用程序就会知道要求用户更新文件,这样我就不必向苹果提交如此小的更新.

但是我仍然需要允许离线查看,以防他们无法访问互联网。

我必须研究哪些技术或技巧才能实现这一目标?

谢谢

4

2 回答 2

1

您正在寻找的是一个名为应用程序缓存的 html5 概念。它直接解决了您的问题。使用应用缓存,您可以在客户端缓存静态内容,即使他们处于离线状态也可以查看这些内容,但他们可以在服务器上的内容发生更改时对其进行更新。如果你环顾四周,你会发现人们也将它用于 iPhone。

更新: 我将如何从服务器上的文件重写手机上的文件?

你基本上更新缓存来做到这一点。来自文档

仅当清单文件更改时,应用程序缓存才会自动更新。如果清单文件中列出的资源发生更改,它不会自动更新。如果清单文件逐字节相同,则认为清单文件未更改;因此,更改清单文件的修改日期也不会触发更新。如果这对您的应用程序来说还不够,您可以使用 JavaScript 显式更新应用程序缓存。

我鼓励您阅读 html5 本地存储,以了解本地缓存和清单文件等的概念,然后按照苹果文档上的说明进行操作。这并不难。

于 2013-03-26T04:48:14.807 回答
0

您可以按照 abbood 的说明缓存内容,但这不允许您提供初始离线内容。

另一种方法是使用NSURLProtocol,它允许您混合请求。例如,如果您请求“ http://google.com ”,您将能够更改 URL 或加载您自己的内容(例如从本地目录)。

于 2013-03-26T05:37:58.520 回答