使用Xcode 4构建应用-它始终显示有关PNG图像的错误


88

当我使用Xcode 4构建应用程序时,它始终显示以下错误消息:

CopyPNGFile /Users/michaelchen/Library/Developer/Xcode/DerivedData/iMusicBox-boeawugacmhacbdtyymnprzfobyq/ArchiveIntermediates/iMusicBox/InstallationBuildProductsLocation/Applications/iMusicBox.app/list_cell.png Images/list_cell.png
    cd /Volumes/WORK/Works/iMusicBox
    setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    "/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/PrivatePlugIns/iPhoneOS Build System Support.xcplugin/Contents/Resources/copypng" -compress "" /Volumes/WORK/Works/iMusicBox/Images/list_cell.png /Users/michaelchen/Library/Developer/Xcode/DerivedData/iMusicBox-boeawugacmhacbdtyymnprzfobyq/ArchiveIntermediates/iMusicBox/InstallationBuildProductsLocation/Applications/iMusicBox.app/list_cell.png

在/Volumes/WORK/Works/iMusicBox/Images/list_cell.png pngcrush中检查alpha时发现libpng错误:图像数据不足

但是Xcode 3.2可以-为什么?

Answers:


191

找到了!!

您必须将PNG文件保存为NOT INTERLACED。尝试在photoshop(或类似工具)中打开文件,另存为,然后选择“不隔行”。

就我而言

希望这可以帮助


伊娃,你说得对,谢谢!我从pixelmator中的Web导出,可以。
Michael Chen

6
男子!感谢上帝!你呢!当我看到这个答案并且可以正常工作时,我正准备去屋顶扔掉我那笨拙的笔记本电脑。非常感谢。我想现在该睡觉了。
萨希尔(Sahil Chaudhary)

7
就我而言,事实证明我在Xcode中有多个对同一个文件的引用(这可能意味着它试图多次处理该文件?)删除重复引用可以解决此问题。
彼得·约翰逊

我将png保存为NOT INTERLACED,但在第一次构建时仍然出现此错误,但是第二次构建时,此错误消失了
Jing

23

当项目文件中的图像文件有多个条目时,就会发生这种情况。我不知道为什么,但是我只是删除了所有条目,重新加载了项目并再次添加了文件。


嗯,您确定使用doublette会得到相同的编译器消息吗?
Brainray 2012年

8
这也是我的问题。我的启动图像导致问题。默认情况下,XCode在“ Supporting Files”文件夹中添加了黑色图像,然后添加了更多图像,但黑色图像并没有消失。如果启动图像保持器为黑色,则表示您的项目中有一个图像。去除黑色图像并输入正确的图像。做到了,现在一切都恢复了!
dbDev 2012年

15

检查目标的“构建阶段”->“复制捆绑资源”中是否没有重复的条目


对于其他人甚至在他们的项目中甚至没有图像的人……这个解决方案是所有可行的答案中唯一的一个。我没有图像,但是我使用的是Facebook SDK,因此必须删除Build Phases-> Copy Bundle Resources中红色的所有内容。
杰夫·格里姆斯

9

它可能是“压缩PNG文件”设置(来自“构建设置”的“包装”部分)。

我通过将其切换为“否”来解决此错误。


6

就我而言,我发现损坏的png无法在Photoshop中打开。我在预览中打开,另存为psd,然后再次从photoshop中保存(另存为-> png->非隔行扫描)。现在可以在xcode 4中正常编译。


5

尝试寻找并重新保存使用该* .png文件“预览”,确切的说:文件 - 导出... - “另存为PNG”。在我看来,当您使用“ Save for Web”模式在Photoshop中保存图像时,会发生这种情况,并且此图像将通过特殊压缩(LZW)保存。就这样,祝您好运!


3

您的PNG文件似乎list_cell.png已损坏。Xcode 4在许多方面比Xcode 3进行更多的检查,并揭示了一直潜伏在您的项目中的问题。

您是否尝试过在图像编辑器中打开PNG文件并再次保存?


1
是的,我已经在“预览”中将其打开,可以。并且我尝试再次保存它,但错误仍然显示。
Michael Chen

不要只是在预览中打开它。它还可能会尝试解决图像中的错误。使用可以编辑图像并存储图像新版本的应用程序将其打开。
Codo)

3

就我而言,我通过删除文件夹/文件名中的空白“空格键”解决了该问题。

希望这也对某人有用。


2

我的不是隔行扫描的,但我一直从pngcrush中收到奇怪的错误。最终,我不仅删除了磁盘文件,还通过XCode删除了文件。我将它们逐个添加到XCode中,然后逐个添加,然后逐个构建,希望找到一个有问题的对象。我从没干过。我的结论是,您确实需要操作XCode中的文件,而根本不需要操纵文件系统。


2

就我而言,使用xcode 4.5时,问题是通过终端授予权限来解决的

chmod -R + rw /您的项目路径/您的项目文件夹

由于使用文件共享锁定文件,因此这可能不是最佳解决方案。但是如果您着急的话会做。


2

我必须删除对PNG的引用,并将它们再次添加到项目中。有人有更好的解决方案吗?


1

我必须删除png文件,然后转到“目标”->“ AppName”->“构建阶段”->“捆绑资源”,并从那里也删除文件。


1

我遇到了同样的错误。原来我的png实际上是jpeg。XCode正确显示了它们,但iOS设备未显示。通过将jpg保存为png来解决。


1

发生此错误的原因是资源中的图像宽度或高度小于5像素,并且您正在尝试调整该图像的大小。将所有图像设置为最小5像素,错误消失。


这就是发生在我身上的事情,已经解决了。
再生钢


0

就我而言,我必须从文件夹中删除所有PNG文件,然后再次重新添加文件,而无需将图像拖放到Xcode UI(在“启动图像”下)。在我的情况下,后者是关键,首先将文件添加到文件夹,然后将它们拖到UI中,以某种方式导致重复,从而将其搞砸了。如果没有其他适合您的方法,请尝试一下。



0

我解决了这个错误,当您将其放入项目后重命名图像时会出现此错误,因此要解决此问题,首先应删除当前图像,从finder中重命名文件,然后再将此图像复制到项目中。




0

Eva Madrazo发布了正确的答案(至少对于隔行扫描的PNG问题),但是对于像我这样处理一堆图像的问题,您可以递归地使用mogrify一次对每个文件进行隔行扫描。

find ./ -name "*.png" -exec mogrify -interlace none {} \;

更改隔行扫描方法似乎不会影响图像质量,但会影响图像大小,但是不会给您提供较小的图像。

Mogrify随ImageMagick一起提供,您可以通过自制软件安装它。


0

错误:

在读取/ Volumes / Mac OS / RDC / Workpot / RestApp / RestApp / default1024_768.png pngcrush时捕获到libpng错误:不是PNG文件。

解:

  1. 我已经在PaintBrush中打开“ default1024_768”文件工具的saveAs PNG文件具有相同的名称。
  2. 替换了Xcode项目中的Icon文件。
  3. 干净->构建

这就是所有的魅力作品

希望这会帮助某人。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.