为iOS分发预加载的TouchDB数据库

时间:2012-06-09 17:16:14

标签: objective-c ios touchdb

我在应用程序上使用TouchDB来与云上的CouchDB服务器同步数据。

一切正常,但我现在需要使用应用程序包部署预装版本的应用程序,因此用户无需下载静态数据的MB。

这样做的最佳方法是什么?我正在考虑将TouchDB目录包含在我的项目中的数据库和附件中,在初始化TouchDB数据库之前,我检查它是否存在于“Application Support”数据库下,如果不存在,我将其复制到我的代码中。< / p>

这是正确的方法吗?

1 个答案:

答案 0 :(得分:1)

您可以在应用程序包中包含数据库和附件目录,然后使用

-(BOOL) replaceWithDatabaseFile: (NSString*)databasePath
                 withAttachments: (NSString*)attachmentsPath
                           error: (NSError**)outError;

https://github.com/couchbaselabs/TouchDB-iOS/blob/master/Source/TD_Database.h#L87

在做你正在计划的事情之前,看起来这样做了一些健全性检查:

https://github.com/couchbaselabs/TouchDB-iOS/blob/master/Source/TD_Database.m#L91

但是,它确实意味着您不必将复制代码与数据库保存其文件的位置保持同步。