2012-05-22 32 views
0

我收到的時候我試圖將一個字符串寫入到文件的文件錯誤:如何處理文件錯誤?

NSFileManager *filemgr; 

    filemgr = [NSFileManager defaultManager]; 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *docDir = [paths objectAtIndex: 0]; 
    NSString *docFile = [docDir stringByAppendingPathComponent:fileName]; 
    if ([file fileExistsAtPath: docFile] == YES) 
    { if(![formatedlogStr writeToFile:LOG_FILE_V1 atomically:YES encoding:NSUTF8StringEncoding error:&error]) 
      { 
       NSLog(@"Error: %@", [error userInfo]); 
      } 

     } 

這給了我一個錯誤:

Error: { 
    NSFilePath = "error_log_V1.txt"; 
    NSUnderlyingError = "Error Domain=NSPOSIXErrorDomain Code=13 \"The operation couldn\U2019t be completed. Permission denied\""; 
    NSUserStringVariant = Folder; 

如何解決這個問題,我不知道。 任何人都可以幫助我嗎?

+1

粘貼錯誤中包含「Permission denied」字符串,也許您正在嘗試寫入您沒有寫入權限的文件夾。 – jhonkola

回答

2

您正在文檔目錄中正確查找路徑,但您試圖將信息記錄到裸路徑。您應該按照相同的步驟在日誌文件的沙盒中爲文件構建路徑,並使用該路徑代替LOG_FILE_V1

+0

可以幫助你舉個例子......? –

+0

你自己的代碼就是一個例子。您自己的代碼正確地構建了沙箱中文件的路徑。您應該使用相同的技術爲日誌文件建立路徑。 – Jim