2016-06-22 20 views
0

iOSアプリにCouchbase Liteを使用しています。私は、アプリケーションバンドルにデータベースを組み込み、私は複製を持っていません。 (私はCouchbaseを複製せずに使用するのがちょっと奇妙だと知っていますが、その場合です)couchbase liteデータベースにバンドルから直接アクセスできますか?

replaceDatabaseNamedがドキュメントディレクトリにコピーするので、バンドルからデータベースに直接アクセスする方法が見つからないという問題があります。データベースが巨大なので、バンドル内の1つのバージョンとドキュメントディレクトリ内の1つのバージョンを使用して、ユーザーのiPhoneに複製することは望ましくありません。

データベースをコピーしてアプリケーションバンドルから直接アクセスしない方法をご存知ですか?ここで追加する

答えて

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がオブジェクトを持っている場合、あなたは彼らがあなたの前に実行し得ることを確認する必要があるということですデータベースを保存します。これを読み取り専用データベースとして使用しているときは、更新に失敗します。

関連する問題