如何将Firebase数据caching为离线使用?

我构build捆绑JSON数据的应用程序。 我想要切换到Firebase作为我的后端,但是我需要确保即使Firebase处于脱机状态也可以访问数据。 不能保证用户在启动应用程序的时候能够连接到互联网。 数据由相当大的JSON blob组成。

我听说firebase会在iOS上caching数据以便离线访问,这很好。 我只需要知道如何在首次运行应用程序时捆绑数据,以便用户在获得networking连接之前就可以使用该应用程序。

正如您发现的那样,Firebase Obj-C客户端对脱机访问/磁盘持久性具有beta支持。 详情可以在这里find。

但是,这并没有解决您希望使用初始数据对应用程序进行“种子”的需求,以便在应用程序能够连接到Firebase之前获取数据。 不幸的是,没有直接的支持。

您可以尝试使用Firebase的一个拙劣的解决scheme就是仅对所涉及的数据执行setValue操作,以便为caching播种。 这应该可以工作,但最终会尝试将这些数据写入Firebase,当应用程序连接时,所以您可能希望具有安全规则以防止用户实际修改该数据。 正如我所说,这将是一个hacky解决scheme。

目前最好的办法是用你的应用程序中的特殊逻辑来处理这个问题,直到你第一次从Firebase获取数据为止,这些逻辑从其他数据源(硬编码值或embedded文件或其他)中提取数据。

对不起,目前没有直接的支持。 我们来看看能否在将来更直接地支持这一点。