iPad:PNG压缩错误


73

我正在尝试将我的iPad项目移植到最新的iPad2。我安装了带有Xcode 4.0的iOS 4.3 SDK。当我尝试构建项目时,出现以下错误。我不知道为什么会收到这个错误。有人可以帮助我解决此构建错误吗?

读取/Users/username/Desktop/iPAD/MyProject/trunk/Resourses/images/top_bar.png pngcrush捕获到libpng错误:不是PNG文件。

找不到文件:/Users/username/Library/Developer/Xcode/DerivedData/Project-fmhveawksgdtnraclfizuhrekmzi/Build/Products/Debug-iphoneos/MyApp-Upgraded.app/top_bar.png


还可以在一步中使用终端将文件夹中的多个图像转换为png。使用cd转到包含图像(JPG或任何类型)的文件夹。运行代码:mkdir pngs; sips -s格式png --out pngs它将图像转换为.png并创建一个包含转换后图像的pngs文件夹。另请参阅
HDdeveloper 2013年

我遇到了类似的问题,并在这里发布了对我有用的解决方案。当您的项目中有多个具有相同名称的图像并将资源复制到包中时,也会发生这种情况。
2016年

Answers:


60

您检查文件是否Users/kavapanga/Desktop/iPAD/ALN II 3 latest 2/trunk/Resourses/images/CS_logo_for_top_bar.png存在吗?还要检查它是否是PNG文件。右键单击该文件,然后执行“获取信息”以检查文件是否具有任何其他扩展名,并标记为“隐藏扩展名”。如果您不确定文件的格式,则在大多数情况下,应打开文件并再次将其另存为PNG文件。


克里希纳,您好,是的,我看到该文件可以使用.png格式。
Getsy 2011年

2
您能否再次尝试将其另存为PNG?
克里希纳

您好克里希纳,正如您所说,我再次保存为.PNG格式。现在没有给出构建错误。但是,当我尝试通过Xcode 4在iPad 2上安装(完成所有设置)时,它显示“ Finished Running MyApp-iPad”,但我没有在iPad上看到安装的应用程序。可能是什么原因?
盖西2011年

如果不了解有关您的应用程序的许多详细信息,将很难回答。应用运行时,您是否在控制台中查看日志?另外,您可以在带有断点的调试模式下运行它吗?
克里希纳

1
我认为它只是被赞成但未被接受。不知道为什么。您是否在答案上单击了勾号?
克里希纳

89

我有同样的问题,但这不是因为png损坏:这是因为两个PNG文件在源代码树的不同目录具有相同的文件名。奇怪的是,错误(我有4个文件带有“ twins”)在一个版本与另一个版本之间是不同的。一次运行中,我对所有文件都有错误,而在其他文件中只有其中一些错误。


2
这发生在我身上。我打开了一个几天没用过的项目,经过两到三个构建,就完成了。很奇怪...
Nicolas Miari 2012年

可能这两个版本都已添加到您的复制文件构建阶段。至少那是我的问题。
Pascal

51

我有同样的问题。修复方法:使用预览->文件>导出>格式更改为PNG打开图像,操作完成!


这是一个很棒的发现。艺术家已另存为psd但具有png扩展名
Codezy 2013年

2
另外,需要清理项目。:D
最大

10

图像或Xcode没有问题。从photoshop创建该图像的问题是该图像是隔行的还是不隔行的。在Photoshop中保存图像时,您将获得一个选择。

查看此链接以获取更多信息:

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

不隔行:您应使用不隔行的图像。这是原始的png图像。

隔行扫描:此选项适用于从Web下载的图像。具体来说,当您需要减少图像加载时间时使用此选项。此选项在内部执行的操作是,它将创建一个.png文件,但其清晰度和dpi均比普通jpeg图像低。因此,此类图像具有jpeg图像的属性。

希望这对大家有帮助。

享受编码:)


10

将项目文件夹中的图像移动到“图像”文件夹时,出现此错误。

原来,我的“复制资源”构建阶段包含以下步骤:从新的正确文件夹中复制文件,也从存储它们的先前文件夹中复制文件。删除过时的构建步骤可修复错误。


6

pngcrush认为PNG文件不是真正的PNG文件的另一个原因是,如果您不小心导出了完好无损的图层。如果您在Finder中检查文件,请在“更多信息”区域(“尺寸”,“颜色空间”等)周围查找名为“图层”的项目

它可能会说:

Layer 68, Title Banner, Group 26

当设计人员有时另存为PNG而不是导出到Web /移动设备时,就会发生这种情况。并且它会完全破坏libpng(并因此破坏pngcrush)。

解决方法是正确导出PNG,或者自己打开PNG并将其重新导出为“平面” PNG。


1
注意:这也可能是由以PNG扩展名保存的PSD文件引起的,但实际上是PSD文件。无论设计师的素质如何,这种情况也经常发生。深夜是深夜。:)
Eric Goldberg 2013年

5

这可能是由不兼容的PNG文件格式引起的。您将需要png文件的“颜色配置文件”以使其在Xcode中工作。

首先,请检查文件信息。

在此处输入图片说明

虽然这是有效的PNG文件,但这是 不是Xcode可以采用的格式。您将需要以下PNG格式:

在此处输入图片说明

将您的PNG文件转换为Xcode可以采用的格式。您可以使用预览来导出文件。


我已经使用gwenview和GIMP在Linux上编辑了一些图形资源,另存为PNG,然后遇到此错误/对我来说,这个答案和解决方案是完美的。显然,我们的UI团队的原始资产是在Mac上完成的,就Xcode而言(显然)是完美的。
KayCee

我的Map Tile叠加层是在Mac上完成的,没有Alpha通道(因此没有sRGB),但是在我的项目中仍然失败,但在其他项目中却能完美工作。
aremvee

3

也有这个问题。PNG存在并且没有损坏。

解决方法:

  1. R单击xcode中的图像,选择“删除”
  2. 仅删除参考(实际上不会破坏文件)
  3. 将n拖放回xcode(就地)中,确保选择正确的目标

为我工作,除了我以拖放方式添加了文件
RobCroll 2013年

2

我遇到了这个问题,发现png存在问题。我对其进行了重新制作并正常工作。


是的,我也发生过同样的情况
parilogic

2

我有同样的问题。即使文件扩展名可能是png,文件仍然可能是其他文件。“获取信息”显示了我认为文件扩展名是什么。在预览中打开文件,然后转到工具->显示检查器->文件选项卡。在这里您应该能够看到实际的文件类型。


您有这个问题背后的原因吗?我们已经从Adobe Photoshop创建了图像,并另存为.png。但是,建议您在该菜单中将这些图像显示为JPEG。不明白为什么?
Mrunal

我认为,如果该菜单将其显示为JPEG,则它们必须为JPEG。保存它们时可能有些错误。您是否尝试通过Web下载一些PNG来做到这一点。
NSRover

我不时地保存一个扩展名为.png的.psd ...该死的Photoshop默认设置!
Nicolas Miari 2012年

2

我遇到了这个错误,实际上与发生错误的png完全无关。实际的问题是我的项目中有两个具有相同名称的文件(我曾拖放过一个较新版本的3rd Party类,假设它将替代旧版本)。

我删除了对重复文件的引用,从而解决了构建错误。


0

问题解决了

我在开发中遇到了同样的问题,但是今天我发现有两种解决方案及其可能性,这就是

解决的问题1:如果您创建或设计师创建了他们从adobe illustrator中保存了pnd的设计,那么如果您自己创建,只需将所有AI艺术品复制到photoshop中,或者如果设计师创建了它,然后告诉他们将Illustrator格式导入到Photoshop中并发送PND。

解决的问题2:选择图像,右键单击图像->获取信息,然后检查图像是否为正确的.png格式,如果不正确,则只需编辑.png扩展名。

享受就好。


0

当我尝试复制项目文件夹并运行项目时,出现相同的错误。原始文件夹中的项目没有该问题。

删除副本并制作文件夹的新副本解决了我的问题。


0

错误:

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

解:

  1. 我打开了“default1024_768”文件画笔工具的saveAs PNG文件具有相同的名称。
  2. 替换了Xcode项目->清理->构建中的图标文件。

这就是所有的魅力作品

希望这会帮助某人。


-3

我经常遇到这个错误。如果您100%确信png存在并且正确,则只需重新编译项目即可,如果不起作用-一次又一次重新编译,有时它将开始工作;-)那是Xcode中存在很长时间的错误(自Xcode3起)。

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.