0

file.sqliteCore Dataアプリケーションを作成しましたが、デフォルトとは別のディレクトリに保存したいと思います。このSOスレッドに出くわし、このSO質問を投稿しました。プロジェクトは完了しているように見えますが、file.sqlite指定した場所に保存されていません。AppDelegate.mメソッドを作成し、ファイルにコードを追加しましたが、storeURL変数はまだデフォルトの「Documentsディレクトリ」に保存されています。ファイル内で作成したメソッドを呼び出して、変数の適切な場所を指定するにはfile.sqliteどうすればよいですか?AppDelegate.mstoreURL

変えればいいのに

NSURL *storeURL = [NSURL fileURLWithPath: [docPath stringByAppendingPathComponent:@"Accounts.sqlite"]];

NSURL *storeURL = [NSURL fileURLWithPath: [documentsDirectoryPath stringByAppendingPathComponent:@"Accounts.sqlite"]];

また、これはiOSシミュレーターのサポートを壊しますか?

4

1 に答える 1

1

この問題は、シミュレーターのデフォルトのドキュメントパスを維持し、デバイスに別のドキュメントパスを設定することで解決しました。次のコードは、私のAppDelegate.mファイルにあります

// add conditional code for simulator and iDevice
#if TARGET_IPHONE_SIMULATOR
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *docPath = [documentPaths objectAtIndex:0];

NSURL *storeURL = [NSURL fileURLWithPath: [docPath stringByAppendingPathComponent:@"Accounts.sqlite"]];
#else
// jailbroken path - /var/mobile/Library/KegCop/
NSString *docPath = self.documentsDirectoryPath;

NSURL *storeURL = [NSURL fileURLWithPath: [docPath stringByAppendingPathComponent:@"Accounts.sqlite"]];
#endif
于 2012-08-12T17:35:40.577 に答える