解决 pathForResource 返回 nil的问题

Posted ⬆️小马哥⬆️

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决 pathForResource 返回 nil的问题相关的知识,希望对你有一定的参考价值。

点击(此处)折叠或打开

  1. NSString* path = [[NSBundle mainBundle] pathForResource:@"sample" ofType:@"xml"]; 
  2. NSLog(@"path=%@",path); 
  3. NSError *error=nil; 
  4. NSString* fileText = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error]; 
  5. NSLog(@"%@",error); 
  6. 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的问题的主要内容,如果未能解决你的问题,请参考以下文章

pathForResource ofType 返回 nil

NSBundle pathForResource 返回 nil 和子目录

iOS:[NSBundle pathForResource:ofType:inDirectory] ​​返回 nil?

NSBundle pathForResource:ofType: 偶尔会为一个资源返回 nil

-[NSBundle pathForResource:ofType:inDirectory:] 为本地化资源返回 nil

pathForResource 在 Mac OS X 控制台应用程序中返回 nil — Swift