適切な場所を見つけたら、データ保護を使用することを知らせるために、ターゲットの機能ペインのデータ保護スイッチをオンにする必要があります。 Apple's documentationによると、これで十分です:
保護のデフォルトレベルとは、デバイスがロックされているとき が暗号化とアクセス不能にされているファイル、完全な保護です。あなたは プログラムでそれはあなたがががプログラムの保護レベルを設定することができます述べて
[...]あなたの アプリによって作成されたファイルの保護のレベルを設定することができます。
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
@YES, NSMigratePersistentStoresAutomaticallyOption,
@YES, NSInferMappingModelAutomaticallyOption,
NSPersistentStoreFileProtectionKey, NSFileProtectionComplete, // <-- HERE
nil];
...
__persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
if (![__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:options error:&error]) {
...
}
NSFileProtectionComplete
が
を意味し、ファイルがに保存されています。persistentStoreCoordinatorを作成するとき、あなたは適切なオプションを使用する必要があります。あなたは(私はまだ保存すること、それを行う)ことをやりたい場合ディスク上に暗号化された形式であり、デバイスがロックされているか起動しているときには、 の読み取りまたは書き込みができません。
また、NSFileProtectionCompleteUnlessOpen
を使用することもできます。違いについては、Xcodeクイックヘルプを参照してください。
あなたはAppleのマニュアルを一度見てみましたか?どの部分に助けが必要ですか? –
@Tom Harrington –
@Tom Harringtonはい私はデータ保護に関するAppleの文書を調べましたが、それは非常に簡単であり、有用な方法や実装方法については言及していませんでした。私は現在、CoreDataデータベースにiOSのデータ保護を実装する方法について混乱しています〜 –