iOS7からNSFileProtectionが自動で設定されるみたいな話をappleの中の人が言っていましたが
release notesにも記載されていないし、どうなったんだっけ
と思って調べてみたら案の定設定されていませんでした。
使い方おさらい
NSFileManager* fileManager = [NSFileManager defaultManager];
NSError *error = nil;
[fileManager setAttributes:@{NSFileProtectionKey: NSFileProtectionComplete} ofItemAtPath:someFilePath error:&error];
こんな感じです。
NSFileProtectionKey
通常アンロック状態で使用するアプリでは、NSFileProtectionComplete でいいんじゃないでしょうか。
key名 | 概要 |
---|---|
NSFileProtectionNone | 保護無し |
NSFileProtectionComplete | デバイスロックorブート時は保護される(読み書き不可) |
NSFileProtectionCompleteUnlessOpen | ロック中もファイル作成可能。 一旦closeされるとアンロックされるまで開けない。 アンロック中にオープンしていれば、ロックされてもファイルにアクセスすることは可能。 ファイル作成、オープン時にわずかにパフォーマンスに影響する。 |
NSFileProtectionCompleteUntilFirstUserAuthentication | 起動から最初にアンロックするまで保護される。1度アンロックするとアクセス可能。 |