天天看點

NSFileManager---資料保護

轉載自:http://blog.csdn.net/yiyaaixuexi/article/details/19486335

資料保護API

1)檔案保護

  1. NSDictionary *attributes = [NSDictionary dictionaryWithObject:NSFileProtectionComplete  
  2.                                                        forKey:NSFileProtectionKey];  
  3. [[NSFileManager defaultManager] setAttributes:attributes  
  4.                                  ofItemAtPath:filePath  
  5.                                         error:nil];  
  1. //檔案保護等級屬性清單  
  2. NSFileProtectionNone                                    //檔案未受保護,随時可以通路 (Default)  
  3. NSFileProtectionComplete                                //檔案受到保護,而且隻有在裝置未被鎖定時才可通路  
  4. NSFileProtectionCompleteUntilFirstUserAuthentication    //檔案收到保護,直到裝置啟動且使用者第一次輸入密碼  
  5. NSFileProtectionCompleteUnlessOpen                      //檔案受到保護,而且隻有在裝置未被鎖定時才可打開,不過即便在裝置被鎖定時,已經打開的檔案還是可以繼續使用和寫入  

應用執行個體

把一段資訊infoStrng字元串寫進檔案,然後通過Data Protection API設定保護。

  1. NSString *documentsPath =[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];  
  2. NSString *filePath = [documentsPath stringByAppendingPathComponent:@"DataProtect"];  
  3. [infoString writeToFile:filePath  
  4.              atomically:YES   
  5.                encoding:NSUTF8StringEncoding  
  6.                   error:nil];  
  7. NSDictionary *attributes = [NSDictionary dictionaryWithObject:NSFileProtectionComplete  
  8.                                                        forKey:NSFileProtectionKey];  
  9. [[NSFileManager defaultManager] setAttributes:attributes  
  10.                                  ofItemAtPath:filePath  
  11.                                         error:nil];  

裝置鎖屏(帶密碼保護)後,即使是越獄機,在root權限下cat讀取那個檔案資訊也會被拒絕。

NSFileManager---資料保護
NSFileManager---資料保護

繼續閱讀