使用pathForResource:ofType取值为nil的问题

最近尝试使用pathForResource:ofType的方式去取Bundle里的资源发现没有取到,打印出来的路径是nil。

查了些资料发现,添加到工程里的资源文件在项目编译的时候会被复制到main bundle中,可以在Copy Bundle Resourse 中查看所有被打包到main bundle中的资源文件,如图

而只有在Copy Bundle Resourse中显示的文件在编译时才会被复制到main bundle中,直接向工程中添加的资源和通过Asset Catalog 方式添加的资源都会在Copy Bundle Resourse中显示,但有些时候虽然向工程中添加了资源,在Copy Bundle Resourse中可能没有显示,这时需要点击Copy Bundle Resourse下面的“+”按钮手动添加,否则main bundle中就不会有该资源文件,在代码中使用该资源文件时可能会出现问题。

之后在Copy Bundle Resourse中手动添加了picture就可以打印出路径了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,049评论 25 709
  • 仅以方便自己查阅记录前言1.静态库和动态库有什么异同?静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗...
    190CM阅读 4,325评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,127评论 19 139
  • 静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别...
    吃瓜群众呀阅读 12,144评论 3 42
  • 前几天出去吃饭,在路上遇到一件有趣的事。 一男一女走在一起,那个女的的同学看到她和这个男的走在一起,就说:“这是你...
    黄志博阅读 577评论 0 1