无法在Bundle中找到文件

时间:2013-07-03 13:56:01

标签: objective-c

在Xcode4中开发IOS应用程序期间,我通过拖动文件夹将数据文件夹添加到应用程序包中,以便到达我写的文件夹:

NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
NSString *folderPath =[NSString stringWithFormat:@"%s/myDataFolder",([bundlePath UTF8String]),nil];

但是,我无法访问folderPath及其内容。

2 个答案:

答案 0 :(得分:2)

您的代码有点奇怪,为什么要从捆绑路径生成UTF8String?您可以直接以格式使用bundlePath

NSString *folderPath =[NSString stringWithFormat:@"%@/myDataFolder", bundlePath];

更正确的是:

NSString *folderPath = [bundlePath stringByAppendingPathComponent:@"myDataFolder"];

这将确保添加所有正确的目录分隔符。

如果您只关注一个文件:

NSString *folderPath = [[NSBundle mainBundle] pathForResource:@"somefile" ofType:@"sometype" inDirectory:@"myDataFolder"];

只需确保将文件夹添加为文件夹,而不是将项目分组。如果您选择了组,则可以使用以下命令获取文件路径:

NSString *folderPath = [[NSBundle mainBundle] pathForResource:@"somefile" ofType:@"sometype"];

答案 1 :(得分:1)

将文件夹添加到应用程序时,它不保留文件夹的结构/层次结构,只是将文件添加到应用程序。您必须从代码中删除您的文件夹名称,它才能正常工作

NSString *folderPath =[NSString stringWithFormat:@"%s/",([bundlePath UTF8String]),nil];
希望它会有所帮助。