0

我使用 Mac OS 10.7.5 和 XCode 4.6.2 开发了一个应用程序。应用程序在我的机器上运行良好,没有任何错误/警告。

但是当我尝试在另一台机器 Mac OS 10.8 和 XCode 4.6.2 上运行时,它显示该机器中某些图像的 pngcrush 错误。尽管存在很少的 pngcrush 错误,但应用程序仍然可以在模拟器或设备上正常运行。

我的问题是:为什么两端的调试存在差异以及如何解决它。(如何避免此类错误)

错误信息

While reading ImagePath/ImageName.png pngcrush caught libpng error: Not a PNG file.
4

2 回答 2

2

Pngcrush 是 Xcode 用于压缩应用程序中包含的 PNG 图像的 PNG(便携式网络图形)文件的优化器,目的是减少构建的数据包的最终大小。

这将在下面的路径下

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin

应该有两种可能

  1. 您的图像已损坏。从 Photoshop 将其重新保存为 .png 或使用新的。
  2. 检查您是否在 Xcode 中添加了两个/多个引用。如果是,则删除旧引用。
于 2013-04-29T05:30:52.187 回答
0

“不是 PNG 文件”的图像可能已经通过 Apple 的专用 Xcode SDK 版本的 pngcrush 运行,它会生成不再是有效 PNG 文件的“优化”文件。

查看引发错误的文件的开头并查看从字节 12 开始的字节是否是“CgBI”而不是“IHDR”。如果是这样,您需要撤消更改。搜索“pngcrush”和“CgBI”以了解如何。

于 2014-02-23T03:44:41.217 回答