使用Xcode 4构建应用程序 - 它总是显示有关PNG图像的一些错误

时间:2011-03-13 05:14:45

标签: xcode xcode4

当我使用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中的alpha时,pngcrush发现了libpng错误:    图像数据不足

但Xcode 3.2没关系 - 为什么?

22 个答案:

答案 0 :(得分:192)

发现它!!

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

这是我的案例

希望这会有所帮助

答案 1 :(得分:23)

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

答案 2 :(得分:15)

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

答案 3 :(得分:9)

可能是“Compress PNG Files”设置(来自Build Settings的Packaging部分)。

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

答案 4 :(得分:6)

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

答案 5 :(得分:5)

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

答案 6 :(得分:3)

您的PNG文件list_cell.png似乎已损坏。 Xcode 4在许多领域进行了比Xcode 3更多的检查,并且发现了一直潜藏在项目中的问题。

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

答案 7 :(得分:3)

在我的情况下,我通过删除文件夹/文件名中的空白“空格键”来解决问题。

希望这也适用于某人。

答案 8 :(得分:2)

在我使用xcode 4.5的情况下,问题通过终端

的许可来解决

chmod -R + rw / yourprojectpath / yourprojectfolder

由于使用文件共享锁定文件,这可能不是最佳解决方案。但如果你赶时间,我们会这样做。

答案 9 :(得分:2)

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

答案 10 :(得分:2)

我没有隔行扫描,但我一直从pngcrush那里得到奇怪的错误。最终我删除了文件而不仅仅是磁盘,而是通过XCode。我把它们一个接一个地放回到XCode中,在每个之后构建,期望找到一个有问题的。我从没干过。我的结论是你真的需要操纵XCode中的文件而不是文件系统。

答案 11 :(得分:1)

按照以下步骤操作:

 1. Take an image. 

 2. Rename it to the showing error png's name. 

 3. Drag it back to the Xcode.

答案 12 :(得分:1)

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

答案 13 :(得分:1)

我得到了同样的错误。把我的朋友变成了jpeg。 XCode正确显示它们,但iOS设备没有。通过将jpg保存为png来解决它。

答案 14 :(得分:1)

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

答案 15 :(得分:0)

在我的情况下,我不得不从文件夹中删除所有PNG文件,然后再次重新添加文件,不用将图像拖放到Xcode UI中(在启动图像下)。后者在我的情况下是关键,首先将文件添加到文件夹然后以某种方式将它们拖到UI中导致重复,这使得所有文件都搞砸了。如果没有别的东西适合你的话,那试试吧。

答案 16 :(得分:0)

我遇到了同样的问题。我解决了它删除重复的图片。查看不同的文件夹。那是我的问题。

答案 17 :(得分:0)

我解决了这个错误,当你在放入项目后重命名图像时出现,所以为了解决这个问题首先应该删除当前图像,从finder重命名文件,然后将这些图像复制到项目中。

答案 18 :(得分:0)

可能会帮到你。 检查Alpha Channel属性,如附带的屏幕截图所示。 如果是YES,则应为NO

enter image description here

答案 19 :(得分:0)

可能会帮到你。 检查Alpha Channel属性,如附带的屏幕截图所示。 如果是YES,则应为NO

enter image description here

答案 20 :(得分:0)

Eva Madrazo发布了正确的答案(至少对于隔行扫描PNG的问题),但是对于那些像我一样出现这种问题的人来说,你可以递归地使用mogrify来同时对每个文件进行反交错。

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

更改隔行扫描方法似乎不会影响图像质量,但会影响图像尺寸,没有一个会为您提供更小的图像。

Mogrify附带ImageMagick,你可以用自制软件安装它。

答案 21 :(得分:0)

错误:

  

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

<强>解决方案:

  1. 我已经打开&#34; default1024_768&#34; PaintBrush工具中的文件和另存为同名的PNG文件。
  2. 替换了Xcode项目中的Icon文件。
  3. 清洁 - &gt;构建
  4. 这就像魅力

    一样

    希望这会对某人有所帮助。