pathForResource ofType返回nil

问题描述:

这里是我正在使用的代码。pathForResource ofType返回nil

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

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

当我运行它打印文件在控制台找不到。

我的file.plist在我的可可项目的支持文件夹中。 mainBundle在哪里准确查找文件。这让我颇感不快。我得到它寻找.app文件,但是当开发doe mainBundle看起来的应用程序时?

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