SQLiteデータベースを使用してiPadアプリを作成しています。
iTunesから.sqliteファイルを追加して、dbファイルを自由に追加し、user_dataをバックアップできるようにしたい。
そのため、ファイルを/Documentsフォルダーに保存する必要があります。
次に、質問があります。
iTunesで一部のデータベースファイルを表示できないようにしたい。-(例:user memo dbのように)
私はどうしたらいいですか?
SQLiteデータベースを使用してiPadアプリを作成しています。
iTunesから.sqliteファイルを追加して、dbファイルを自由に追加し、user_dataをバックアップできるようにしたい。
そのため、ファイルを/Documentsフォルダーに保存する必要があります。
次に、質問があります。
iTunesで一部のデータベースファイルを表示できないようにしたい。-(例:user memo dbのように)
私はどうしたらいいですか?
ユーザーにデータを表示したくない場合は、次のフォルダーを使用して、保存に使用するのと同じ場所からデータベースにアクセスできます
//iOS マシンの ApplicationSupport フォルダーにアクセスするには
NSString *appSupportDir = [NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES) lastObject];
//アプリケーションの Library フォルダにアクセスするには (つまり、Application/appID/Library)
NSString *libraryDir = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
あるフォルダーから別のフォルダーにデータを移動するには、次のコードを使用します。
NSFileManager *mngr = [[NSFileManager alloc] init];
NSString *ExpectedFilePath=[[NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"Filename.ext"];
//getting Document directory path
NSString *FilePresentAtPath=[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"Filename.ext"];
// If the database doesn't exist in our Document folder we copy it to Library (this will be executed only one time).
if (![mngr fileExistsAtPath:ExpectedFilePath])
{
[mngr moveItemAtPath:FilePresentAtPath toPath:ExpectedFilePath error:NULL];
}
[mngr release];