2014-02-24 70 views
0

這裏是我正在使用的代碼。pathForResource ofType返回nil

NSString* path = [[NSBundle mainBundle] pathForResource:@"file" ofType:@"plist"]; 

if(path == nil) 
{ 
NSLog(@"file not found"); 
} 

當我運行它打印文件在控制檯找不到。

我的file.plist在我的可可項目的支持文件夾中。 mainBundle在哪裏準確查找文件。這讓我頗感不快。我得到它尋找.app文件,但是當開發doe mainBundle看起來的應用程序時?

回答

2

pathForResource:ofType:只在Resources文件夾(和本地化文件夾)中看起來。如果您要將文件放入捆綁包中的專用文件夾中,則需要使用pathForResource:ofType:inDirectory:並提供目錄名稱。

+0

我厭倦了使用inDirectory路徑和我的項目中的文件的本地路徑,如下所示: NSString * path = [[NSBundle mainBundle] pathForResource:@「file」ofType:@「plist」inDirectory:@「/ Users/joshuablevins/Documents/Xcode/Tutorials/plist tut/plist tut「]; 但它仍然說沒有找到文件。 –

+0

'inDirectory:'你只需傳遞包中的文件夾名稱(支持文件夾名稱),而不是完整的路徑。這應該是您在複製項目構建階段設置的文件夾名稱 – Wain

+0

如果您有完整的文件路徑,那麼它通常不在您的軟件包中,並且您不使用NSBundle來訪問它 – Wain