为什么资源包将.png复制为.tiff图像?

JRG*_*per 19 iphone resourcebundle uiimageview ipad ios

我已经创建了一个静态库和一个资源包,用于在多个项目中重用代码和资产.

在静态库中,我有一个管理器类,其唯一目的是创建其他的UIViewControllers,其视图是从.xib文件创建的(使用常用initWithNibName:bundle:方法).

在Interface Builder中创建视图时,图像显示正确.但是,当我在模拟器上运行应用程序时,我收到此错误:

    Could not load the "<image_name.png>" image referenced from a nib in the 
    bundle with identifier "com.<my_company>.<app_identifer>"
Run Code Online (Sandbox Code Playgroud)

经过几个小时的研磨,我终于检查了资源包,发现.png文件不在其中!相反,相反名称的.tiff文件(不包括@ 2x版本).

所有图像都包含在捆绑包的构建阶段,在复制包资源下,我已经在其他iOS项目中使用了这些图像(因此它们没有被破坏).

还有其他人经历过这个吗?是否可以安全地假设图像将始终作为.tiff添加到包中?(如果是这样,将界面生成器中的图像名称更改为.tiff是否安全?)或者我在这里做错了什么?

感谢您的帮助.

Iro*_*ill 21

有关资源包的问题,​​请参阅此链接,因为它有几个类似的面临的查询.

转换资源包

告诉我哪个答案真的帮助你解决了这个问题.谢谢.

  • 第二个答案和对第三个答案的评论确实帮助我解决了这个问题.基本上,因为捆绑包是在iOS中使用"hack"(修改Mac OSX包)创建的,所以需要更改一些设置以使一切正常 - 在这种情况下,这会将"组合高分辨率图稿"选项更改为"没有".谢谢吉尔! (6认同)

Zai*_*han 16

这解决了我的问题

在您的捆绑目标转到,

构建设置> COMBINE_HIDPI_IMAGES并设置为NO