2011-07-11 40 views
4

我正在嘗試讀取Documents目錄中模擬器中的所有文件,但是出現Cocoa錯誤260.當我登錄[self applicationDocumentsDirectory]時,它顯示/ var/root /文件。任何人都知道爲什麼會發生?它只發生在我從命令行運行時。在模擬器中運行時,代碼會正確輸出模擬器的正確文檔文件夾。iOS模擬器認爲文檔目錄是/ var/root/Documents

UPDATE現在我看到「file:// localhost/Users/MyUserName/Documents」的路徑。太奇怪了......

- (NSString *)applicationDocumentsDirectory 
{ 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil; 
    return basePath; 
} 
+0

你是什麼意思從運行命令行? – sergio

+0

我們正在通過命令行運行我們的單元測試,但我已經發現了這個問題。謝謝! – jjxtra

回答

3

定盤於chmod -R 777「/用戶/ MyUserName輸入/文檔」,然後改變我的方法是:

- (NSString *)applicationDocumentsDirectory 
{ 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil; 

    if (![[NSFileManager defaultManager] createDirectoryAtPath:basePath withIntermediateDirectories:YES attributes:nil error:NULL]) 
    { 
     NSLog(@"Error: Create documents folder failed %@", basePath); 
    } 

    return basePath; 
}