在Xcode4中开发IOS应用程序期间,我通过拖动文件夹将数据文件夹添加到应用程序包中,以便到达我写的文件夹:
NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
NSString *folderPath =[NSString stringWithFormat:@"%s/myDataFolder",([bundlePath UTF8String]),nil];
但是,我无法访问folderPath
及其内容。
答案 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];
希望它会有所帮助。