2011-03-06 175 views
2

我用下面的文件目錄下創建文件夾,我的問題是,如何使這個文件夾的隱藏,這樣當我允許iTune的共享該文件夾沒有出現在用戶面前NSFileManager:隱藏文件夾?

/*創建新的目錄*/ NSFileManager * filemgr; NSArray * dirPaths; NSString * docsDir; NSString * newDir;

filemgr =[NSFileManager defaultManager]; 

dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
               NSUserDomainMask, YES); 

docsDir = [dirPaths objectAtIndex:0]; 

newDir = [docsDir stringByAppendingPathComponent:@"Patients"]; 

NSLog(newDir); 

if(! [self SearchForDirectory:newDir]) 
{ 
    NSLog(@"directory Not Exists"); 

    if ([filemgr createDirectoryAtPath:newDir withIntermediateDirectories:YES attributes:nil error: NULL] == NO) 
    { 
     NSLog(@"Failed to create directory"); 
    } 
} 
else{ 
    NSLog(@"directory Exists"); 

} 
[filemgr release]; 

回答

1

Documents目錄是用於用戶文檔的。如果你想從那裏隱藏文件,很可能它們不是文件,你應該將文件存儲在one of the other directories。我們在談論什麼文件?

請注意,在iTunes文件共享啓用的目錄中包含非文檔是App Store拒絕的理由。

+0

在文檔目錄中有幾個隱藏文件/文件夾的情況。文檔目錄是您可以存儲用戶數據(如數據庫)的唯一文檔位置,可以在其中進行備份和正確恢復。在應用程序的沙箱中沒有其他記錄的位置,您可以在其中執行此操作。 – 2011-03-06 14:24:47

+0

庫目錄已備份。如果你不希望用戶看到這些文件,但你確實希望它們被備份,那通常是他們的最佳選擇。查看我的編輯鏈接到文檔。 – Jim 2011-03-06 14:34:10

+0

嗯,有趣的是,自從我上次查看他們以來,文檔已經發生了變化。在此之前它只說明瞭'Documents'和'Library/Preferences'已被備份。我想知道這在舊版本的iTunes/iOS中是否有所不同。冒險測試!他們仍然聲明'Documents'是你應該存儲「需要備份的用戶文檔和應用程序數據文件」的地方。也許這有點模棱兩可。 – 2011-03-06 14:56:09

6

您可以通過在文件夾名稱前添加一個點(。)來隱藏iTunes文件共享中隱藏的文件夾。因此,路徑將爲Documents/MyHiddenFolder將被稱爲Documents/.MyHiddenFolder

但是,現在建議私人數據文件應存儲在Library目錄或其子目錄中。請參閱以下Apple Q&A瞭解更多信息。

+0

如何訪問應用程序文件夾請登錄 – Ali 2011-03-06 19:56:57

+0

查看wiki:http://stackoverflow.com/questions/1567134/how-can-i-get-a-writable-path-on-the-iphone/1567147#1567147 – 2011-03-06 20:19:03