在iOS中离线保存和同步二进制数据的最佳技术?

时间:2016-09-16 16:43:33

标签: ios firebase offline firebase-storage

我正在开发一款收集用户数据(包括照片)的应用。它要求此应用程序应在离线模式下工作 - 这意味着用户可以在没有互联网连接的情况下完成调查并拍照,并且数据应该同步回远程数据库。这通常如何处理?我是否使用Core Data创建本地数据库并编写一个额外的图层来管理从服务器保存/读取?是否有任何框架有助于促进同步?

我一直在寻找包含Firebase的{​​{1}}等后端服务,这些服务似乎可以处理大量离线支持,但它似乎不支持图像的离线同步文件通过iOS SDKs

任何人都可以推荐最难以处理的方法吗?

2 个答案:

答案 0 :(得分:0)

Couchbase Mobile / Couchbase Lite可能是我迄今为止遇到的最佳解决方案。

它允许离线数据存储,包括二进制数据,以及与CouchDB兼容服务器的在线同步。它最适合使用Couchbase服务器/同步网关组合,但如果您不需要使用过滤复制或“通道”。 (例如,为了将特定于单个用户的数据与共享数据库同步),您可以使用Cloudant,这样您就不必设置自己的服务器。

它也适用于大多数平台。

答案 1 :(得分:-1)

通常对于图像,最好使用NSFileManager并将图像保存在文档目录或缓存目录中,具体取决于您存储的图像类型。核心数据或Firebase是比数据更适合数据的数据库,尽管它们支持任意数据存储。

您还可以尝试SDWebImage,它具有许多有关加载和存储图像的功能。