【问题标题】:Access couchbase lite database directly from bundle?直接从bundle访问couchbase lite数据库?
【发布时间】:2016-06-22 10:04:19
【问题描述】:

我正在为我的 iOS 应用程序使用 Couchbase lite。我将数据库包含在我的应用程序包中,并且没有任何复制。 (我知道在没有复制的情况下使用 Couchbase 有点奇怪,但就是这样)

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

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

【问题讨论】:

    标签: ios couchbase couchbase-lite


    【解决方案1】:

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

    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 对象,则需要确保它们在保存数据库之前运行。当您将其用作只读数据库时,它们将无法更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-06
      相关资源
      最近更新 更多