【问题标题】:How do I cache Firebase data for offline usage?如何缓存 Firebase 数据以供离线使用?
【发布时间】:2014-05-15 14:55:20
【问题描述】:

我构建了捆绑 JSON 数据的应用程序。我想切换到 Firebase 作为我的后端,但我需要确保即使 firebase 处于离线状态我也可以访问数据。无法保证用户在启动应用程序时会连接到互联网。数据由相当大的 JSON blob 组成。

我听说 Firebase 会在 iOS 上缓存数据以供离线访问,这很棒。我只需要知道如何在第一次运行应用程序时捆绑数据,以便用户可以在连接到网络之前使用应用程序。

【问题讨论】:

  • 我知道这是很久以前的事了,但你找到解决办法了吗?
  • 我最近没有检查过,但他们已经承诺过一段时间了,所以我希望它会在那里。但是,如果你在这里写,这可能意味着它还不可用。

标签: ios firebase


【解决方案1】:

正如您所发现的,Firebase Obj-C 客户端确实具有离线访问/磁盘持久性的 beta 支持。详情可见here

但这并不能满足您使用初始数据“播种”应用程序的愿望,以便在应用程序能够连接到 Firebase 之前获得可用数据。不幸的是,没有直接的支持。

您可以尝试使用 Firebase 的一个 hacky 解决方案是只对有问题的数据执行 setValue,以便为缓存设置种子。这应该可行,但最终会在应用程序连接时尝试将该数据写入 Firebase,因此您可能希望有安全规则来防止用户实际修改该数据。正如我所说,这将是一个 hacky 解决方案。

目前最好在您的应用中使用特殊逻辑来处理此问题,该逻辑从其他数据源(硬编码值或嵌入文件或其他)提取数据,直到您第一次从 Firebase 获取数据。

抱歉,目前没有对此的直接支持。我们会看看将来是否可以更直接地支持这一点。

【讨论】:

  • 有这方面的消息吗?另请参阅这篇文章:stackoverflow.com/questions/39602673/… 如果 Firebase 可以支持这一点,这对于我们的应用程序来说将是一个很好的解决方案,目前我们正在与一个 sqlite 数据库同步并在应用程序启动时重新加载所有内容
猜你喜欢
  • 2014-02-22
  • 1970-01-01
  • 1970-01-01
  • 2017-08-25
  • 1970-01-01
  • 2016-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多