1

アプリで TouchDB を使用して、クラウド上の CouchDB サーバーとデータを同期しています。

すべてが正常に機能していますが、ユーザーが MB 単位の静的データをダウンロードする必要がないように、プリロードされたバージョンのアプリをアプリ バンドルと共にデプロイする必要があります。

これを行う最善の方法は何ですか?プロジェクトのデータベースと添付ファイルにTouchDBディレクトリを含めることを考えています.TouchDBデータベースを初期化する前に、「アプリケーションサポート」データベースの下に存在するかどうかを確認し、存在しない場合はコードにコピーします.

これは正しいアプローチですか?

4

1 に答える 1

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

ただし、コピーするコードをデータベースがファイルを保持する場所と同期させる必要がないことを意味します。

于 2013-03-19T15:29:12.577 に答える