NSFileProtectionKeyについて

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度アンロックするとアクセス可能。

参考:NSFileManager Class Reference