如何跳过压缩一个PNG?

时间:2010-01-12 20:03:41

标签: iphone xcode compression png itunesartwork

(注意:我已经解决了这个问题,但是我花了很长时间才发布问题/答案。)

Xcode构建过程在构建时“优化”我的PNG。这通常不是问题,但以这种方式处理的iTunesArtwork会导致它破坏,以至于iTunes无法显示它。我该如何防止这种情况?

4 个答案:

答案 0 :(得分:14)

您可以在此处详细了解Xcode的PNG压缩: http://iphonedevelopment.blogspot.com/2008/10/iphone-optimized-pngs.html

虽然您可以在项目设置中使用“压缩PNG文件”完全关闭PNG优化/压缩(仅当项目的Base SDK设置为设备SDK而不是模拟器SDK时才可见),您不需要去做这个!阅读上面的链接,了解原因的详细信息,但其中的要点是优化让iPhone跳过一些减慢PNG显示速度的数学运算。

Xcode只会优化它所知道的PNG图像文件。为了防止特定的PNG被优化,您可以更改其文件类型,以便Xcode不再知道它是PNG。

  1. 在项目窗口中选择文件。
  2. 选择文件 - >获取信息。
  3. 在常规标签上,将文件类型从image.png更改为file
  4. (这实际上是添加没有扩展名的文件时的默认设置,这可能是iTunesArtwork没有扩展名的原因。但如果你像我这样迂腐,你检查了文件类型设置并修复了它。)

答案 1 :(得分:8)

找到另一个非常简单的方法来禁用单个png文件的压缩。我认为这是一种比接受的答案更好的方法,因为您不必在本地文件系统中更改文件的类型(或扩展名),只能在XCode中更改。

在XCode中的Identity and Type检查器中将文件类型从Default - PNG Image更改为Data。见下文:

当时:

enter image description here

现在:

enter image description here

答案 2 :(得分:1)

对于所有使用Xcode 6.4及以上版本的人:

转到:“目标” - “你的项目名称”。

接下来转到“构建设置”标签。在标签名称下方,单击“基本”和“组合”按钮。

接下来向下滚动到“打包”分隔符,默认情况下,您会发现“压缩PNG文件”设置为“是”。

enter image description here

答案 3 :(得分:0)

1.Goto your build setting 
2.Search flag Compress PNG files and set it to NO.(default is YES).

此后压缩PNG图像将被避免。 欲了解更多信息