2014-05-15 37 views
3

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

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

+0

我知道这是很久以前,但你找到了解决办法吗? – James

+0

我最近没有检查过,但他们早就答应过,所以我期望它在那里。但是,如果你在这里写作,这可能意味着它尚未提供。 – igorsales

回答

4

正如您发现的那样,Firebase Obj-C客户端确实支持离线访问/磁盘持久性测试。详细信息请见here

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

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

现在最好是在应用程序中使用特殊逻辑来处理此问题,这些逻辑从第一次从Firebase获取数据时从其他数据源(硬编码值或嵌入文件或其他)中提取数据。

对不起,目前没有直接的支持。我们会看看是否可以在未来更直接地支持这一点。

+0

这方面的任何消息?另见这篇文章:https://stackoverflow.com/questions/39602673/firebase-offline-storage-advanced-manual-sync-and-progress-information?noredirect=1&lq=1如果Firebase可以支持这一点,它会是我们的应用程序的一个很好的解决方案,目前我们正在与一个SQLite数据库进行同步并在App start重新加载所有内容 – brokedid