我在一个应用程序上使用TouchDB与云上的CouchDB服务器同步数据。
一切都很好,但我现在需要部署一个预加载版本的应用程序和应用程序包,这样用户就不必下载MB级的静态数据。
做这件事的最好方法是什么?我正在考虑将TouchDB目录包含在我的项目中的数据库和附件中,在初始化TouchDB数据库之前,我会检查它是否存在于“应用程序支持”数据库中,如果不存在,则将其复制到我的代码中。
这是正确的方法吗?
发布于 2013-03-19 23:29:13
您可以在应用程序包中包含数据库和附件目录,然后使用
-(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
然而,这确实意味着您不必使复制代码与数据库保存其文件的位置保持同步。
https://stackoverflow.com/questions/10962969
复制相似问题