解决 pathForResource 返回 nil的问题
Posted ⬆️小马哥⬆️
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决 pathForResource 返回 nil的问题相关的知识,希望对你有一定的参考价值。
点击(此处)折叠或打开
- NSString* path = [[NSBundle mainBundle] pathForResource:@"sample" ofType:@"xml"];
- NSLog(@"path=%@",path);
- NSError *error=nil;
- NSString* fileText = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];
- NSLog(@"%@",error);
- NSLog(@"path:%d , fileText:%d",[path retainCount],[fileText retainCount]);
结果在 stringWithContentsOfFile出现错误“The operation couldn’t be completed”
追查发现是pathForResource返回nil,我查了半天没有找到解决办法,我尝试找Default.png,发现能够找到在"/Users/admin/Library/Application Support/iPhone Simulator/6.0/Applications/FFB75F5F-86B7-4B74-9CEF-9F76DE56764C/BaseAppKit.app/"目录下,而在这个目录下确没有sample.xml,我忽然想到了可能需要在项目配置文件里告诉编译器把sample.xml拷贝到BaseAppKit.app/下,
果然我找到了添加资源的地方:
单击项目-》Build phases-》若是没有“copy files”就需要添加:
添加文件:
添加完后再运行就找到文件了
以上是关于解决 pathForResource 返回 nil的问题的主要内容,如果未能解决你的问题,请参考以下文章
NSBundle pathForResource 返回 nil 和子目录
iOS:[NSBundle pathForResource:ofType:inDirectory] 返回 nil?
NSBundle pathForResource:ofType: 偶尔会为一个资源返回 nil
-[NSBundle pathForResource:ofType:inDirectory:] 为本地化资源返回 nil