私のプロジェクトでは、CoreData を使用してデータベースを作成および使用していますが、完全に正常に動作しています。これで、プロジェクトに統合して使用したい SQLite データベース ファイル (.db) ができました (coredata を使用)。
プロジェクトに .db ファイルを追加し、次のコードを使用して Documents ディレクトリに書き込み可能なコピーを作成しました -:
- (void)createEditableCopyOfDatabaseIfNeeded {
// First, test for existence.
BOOL success;
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *writableDBPath = [documentsDirectory stringByAppendingPathComponent:@"wordlist1000.db"];
success = [fileManager fileExistsAtPath:writableDBPath];
if (success)
return;
// The writable database does not exist, so copy the default to the appropriate location.
NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"wordlist1000.db"];
success = [fileManager copyItemAtPath:defaultDBPath toPath:writableDBPath error:&error];
if (!success) {
NSAssert1(0, @"Failed to create writable database file with message '%@'.", [error localizedDescription]);
}
}
データベースから結果をフェッチしようとすると、このエラーが発生します
SQLite エラー コード:1、「そのようなテーブルはありません: Z_METADATA」、NSSQLiteErrorDomain=1}
ここからの進め方を教えてください。いくつかのコード サンプルは非常に役立ちます。
要約すると、外部データベースをインポートし、CoreData を使用して xCode プロジェクトで使用したいだけです。
ありがとう!