繁体   English   中英

直接从捆绑软件访问Couchbase Lite数据库吗?

[英]Access couchbase lite database directly from bundle?

我将Couchbase lite用于我的iOS应用程序。 我将数据库包含在我的应用程序捆绑包中,没有任何复制。 (我知道在不复制的情况下使用Couchbase有点奇怪,但确实如此)

问题是我找不到直接从包中访问数据库的方法,因为replaceDatabaseNamed会将其复制到文档目录中。 由于数据库庞大,因此我不想在用户iPhone上复制该数据库,而捆绑中有一个版本,而在文档目录中有一个版本。

您知道不复制数据库并直接从应用程序捆绑包访问数据库的方法吗?

这对我有用,并成功从捆绑中以只读方式打开数据库...

CBLManagerOptions options;
options.readOnly = YES;
_manager = [[CBLManager alloc] initWithDirectory:[[NSBundle mainBundle] resourcePath] options:&options error:&error];

if (error == nil) {
    // load an existing database
    _database = [_manager existingDatabaseNamed:named error:&error];
}

要添加的一件事是,如果您有任何CBLView对象,则需要确保它们在保存数据库之前已运行。 当您将其用作只读数据库时,它们将无法更新。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM