【发布时间】:2011-09-15 12:58:10
【问题描述】:
我的应用有两个目标。
每个都有自己的文件 Info.plist 和包含的自定义文件夹(作为参考,而不是作为组)。
当我在模拟器上运行我的目标时,该文件夹已正确插入到包中,并且可以毫无问题地读取其中的文件。
这是读取文件夹路径的代码:
NSBundle* mainBundle;
NSString *fileFolder;
mainBundle = [NSBundle mainBundle];
NSLog(@"Bundle path: %@", [mainBundle bundlePath]);
NSLog(@"Folder name: %@", [mainBundle objectForInfoDictionaryKey:@"CustomFolder"]);
NSString *folder = [mainBundle objectForInfoDictionaryKey:@"CustomFolder"];
fileFolder = [[[NSBundle mainBundle] pathForResource:folder ofType:nil] retain];
NSLog(@"Folder: %@", fileFolder);
如果我尝试在设备上调试应用程序,捆绑路径和文件夹名称正确,但文件夹字符串为空。
我检查了我的应用产品内部,并且存在正确的文件夹,其中包含所有文件。
所以有什么问题?是读取权限问题吗?
更新 在 iPad 模拟器中运行的结果路径是这样的
/*/Library/Application Support/iPhone Simulator/4.3.2/Applications/8337B9E5-1BFE-4A17-969E-E3E6E43193D6/MyApp.app/CustomFolder/
更新 2
问题是我添加了带有“为任何添加的文件夹创建文件夹引用”的文件夹。
我用 stringByAppendingPathComponent 替换了 pathForResource,但是 subpathsOfDirectoryAtPath 的问题现在仍然存在。
【问题讨论】:
-
是区分大小写的问题吗?在 Mac(包括 iOS 模拟器)上,文件系统不区分大小写,但在设备上。
-
文件夹在名称和代码引用中的大小写相同。
标签: ios ipad directory bundle target