【问题标题】:Wireless updating in objective-cObjective-c 中的无线更新
【发布时间】:2013-03-26 02:50:35
【问题描述】:

我在商店中有一个应用程序,它有一堆UITableViews,每个都有一堆项目,当被选中时,加载一个加载本地 HTML 文件的UIWebView。我这样做的原因是它允许在没有互联网访问时查看,但是它使更新变得乏味。

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

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

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

谢谢

【问题讨论】:

    标签: iphone objective-c xcode uiwebview


    【解决方案1】:

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

    更新: 我会用什么方法从服务器上的文件重写手机上的文件?

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

    仅当清单文件出现时,应用程序缓存才会自动更新 变化。如果资源列在 清单文件更改。清单文件被认为没有改变,如果它 逐字节相同;因此,更改修改日期 清单文件的更新也不会触发更新。如果这不是 足以满足您的应用程序,您可以更新应用程序缓存 显式使用 JavaScript。

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

    【讨论】:

    • 我将如何从服务器上的文件重写手机上的文件?
    【解决方案2】:

    您可以像阿布德所说的那样缓存内容,但这不允许您提供初始离线内容。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-28
      • 2012-06-07
      • 2017-10-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多