2012-04-02 47 views
0

我已經把我的應用程序項目中的實際文件夾,我想獲取該文件夾的內容。我已經嘗試了下面的代碼,但它總是將我發送到我的計算機上的主目錄。你如何在你的應用中獲得根級別?bundleAtPath給我錯誤的路徑

NSArray *test = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:[[NSBundle bundleWithPath:@"/test"] bundlePath] error:nil]; 

NSLog(@"%@", test); 
+0

只是爲了澄清,你的意圖是在應用程序的主包中有一個子目錄'tests'?或者你真的想要一個單獨的包? – FluffulousChimp 2012-04-02 10:51:19

回答

2

您的應用程序包由[NSBundle mainBundle]給出。下面的代碼示例中的路徑目錄是:

[[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"test"] 
+0

一旦我創建了我的應用程序,我能將文件放入此文件夾嗎?我問,因爲我聽說一旦應用程序被編譯後你不能將文件放入主包中? – 2012-04-02 11:41:02

+0

應用程序通常不應該改變其捆綁;它不是不可能的*並且可能會導致問題。如果您需要稍後添加的文件夾,但是對用戶「隱藏」,請在「應用程序支持」下爲您的應用程序創建一個文件夾 - 這必須以您的應用程序或其捆綁ID的名稱命名 - 並在其內部創建您的文件夾。您可以將您的應用程序與存儲在您的包中的此文件夾的初始內容一起發送,並在第一次運行時將它們複製到應用程序支持文件夾中 – CRD 2012-04-02 18:52:09

+0

我需要一個文件夾,在那裏我最初將一些內容放入並在應用程序安裝完成後可以添加內容的位置? – 2012-04-02 22:18:12

2

用途:

NSString* path = [[NSBundle mainBundle] bundlePath]; 

,然後設置合適的目錄,例如

path = [path stringByAppendingPathComponent:@"directory"];