32

在阅读/Users/user/Desktop/AppProject/PruebaApp/Logo Retina.png

pngcrush捕获 libpng 错误:

读取 Er 找不到文件:/Users/user/Library/Developer/Xcode/DerivedData/PruebaApp-cblepoaxbqzyopcbcswwqjtftyon/Build/Intermediates/ArchiveIntermediates/MaderoAPP/InstallationBuildProductsLocation/Applications/MaderoAPP.app/Logo Retina.png

命令

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/copypng 发出错误但未返回非零退出代码以指示失败

我在归档项目时遇到这些错误,最后它确实归档但我想摆脱它。我之前在使用该应用程序时遇到了问题,我读到我应该删除 DerivedData/(myproject) 文件夹,所以我这样做了。显然它正在尝试在该文件夹中查找图像我该如何解决这个问题???帮助!

4

17 回答 17

81

首先通过 Hard Cleaning 您的项目尝试CMD+OPTION+SHIFT+K,如果存在问题,请应用以下方法,

Build Phases-> Copy Bundle Resources,任何文件名都是红色的?

或者

转换 Logo Retina.png 或重新创建,可能是编码\格式问题。

或者

将“Logo Retina.png”重命名为“LogoRetina.png”。

~祝你好运~

于 2013-07-08T17:28:26.447 回答
13

当您在TARGET->Build Phases->Copy Bundle Resources中有多个具有相同名称的图像时,也会发生这种情况。要解决它 -

  1. 在顶部 的Build Phases搜索栏中搜索您遇到错误的图像名称。
  2. 如果您在Copy Bundle Resources中为搜索查询获得多个结果,只需单击“-”符号从其中删除其他结果。确保多个结果具有相同的图像。如果不是,您必须重命名其他条目的实际文件。
  3. 只需编译您的代码。你已准备好出发。

希望对你有效。

于 2016-09-14T17:07:06.237 回答
9

只需在预览应用程序中打开图像并将其导出为 png 文件。在 Xcode 中用新图像替换旧图像。

于 2015-09-30T03:03:27.560 回答
3

老实说,我间歇性地遇到过这个问题很多次,然后清理然后重建已经解决了它。

于 2015-04-30T01:24:40.817 回答
1

由于这里的答案要么根本没有用,要么很复杂,我想添加我的:

该错误意味着 Xcode 找不到该文件,无论它是否在项目的文件夹中。

  • 如果您仍然需要该图像,您可以做的是打开Finder视图并导航到您的项目。将 Xcode 抱怨的文件拖到项目中,取消选中 'Copy to folder'

  • 如果您不再需要该文件,在 Xcode 左侧,找到该文件,它会显示为红色,只需点击它然后删除/退格

希望对一些人有所帮助:)

于 2015-04-30T01:54:31.463 回答
1

要解决此问题,请复制图像名称。然后过滤它(Build Phases -> Filter textfield)。最后我删除了它。

于 2017-06-28T07:18:54.063 回答
0

我无法解决这个问题。所以我删除并重新安装了xcode,这对我有帮助。

于 2015-03-31T12:16:57.740 回答
0

我刚刚遇到了这个错误,老实说,我认为它是由另一个错误引起的。我的 Crashlytics 框架有问题,我确信它会影响一些与copypng错误无关的 png。我用Crashlytics.framework新版本和中提琴替换了,所有错误都消失了。

不要问我这是如何工作的,我只是发布这个以防其他人可以从中受益。

于 2015-01-29T19:27:50.827 回答
0

还要检查您是否没有仅用“0.png”之类的数字命名图像,我将其更改为“tuts0.png”并且它起作用了。

于 2014-12-10T07:21:44.660 回答
0

通过恢复为我的旧产品名称(在“构建设置”中)来修复它。似乎新产品名称混淆了图像路径。

于 2015-06-30T06:58:33.323 回答
0

对于那些在构建Cordova 应用程序时遇到此错误的人。请注意以下几点,因为它可能会导致此错误。

  • 图像应在 Cordova 插件的 plugin.xml 中标记为“资源文件”而不是“源文件”,因为前者包括“复制捆绑资源”(在构建阶段)中的图像,而后者包括“编译” Cordova 应用程序的等效 xcode 项目的来源”。
于 2017-11-16T10:36:08.260 回答
0

我对资源有同样的问题。问题是我从另一个复制了目标,只是忘记取消选中目标成员窗口中的复选框。

于 2017-02-02T15:23:39.113 回答
0

我面临这个问题,这个解决方案对我有效,你需要删除该图像的任何参考

构建阶段 -> 复制捆绑资源

之后清理和构建,问题将得到解决

在此处输入图像描述

于 2017-03-20T12:57:14.553 回答
0

如果以上答案都不能解决您的问题,请尝试查看您引用图像文件的 Xcode 项目,我碰巧两次引用了同一个 png 文件。一旦我删除了一个参考,它就起作用了。错误消失了。祝你好运。

于 2018-03-19T20:11:40.067 回答
0

我在 pngcrush /libpng 与 PNG 崩溃时遇到了类似的问题(校验和错误 / 释放已被释放的对象等)。这些可以在命令行上重现,所以我重新创建了 PNG,甚至将它们转换为其他格式,然后再返回,但错误仍然存​​在。在我的情况下,Xcode 然后拒绝了不支持 iPhone 5 的结果存档(因为 pngcrush 杀死了 Default-568h@2x.png 图像)。上面的修复解决了这个问题。

于 2017-05-04T06:28:10.737 回答
0

当您在 TARGET->Build Phases-> Copy Bundle Resources中有多个具有相同名称的图像时,也会发生这种情况。要解决它 -

在顶部的 Build Phases 搜索栏中搜索您遇到错误的图像名称。如果您在 Copy Bundle Resources 中为搜索查询获得多个结果,只需单击“-”符号从其中删除其他结果。确保多个结果具有相同的图像。如果不是,您必须重命名其他条目的实际文件。

clean cmd+option+shift+k 和 Build Project... 对我很有效....

于 2018-04-27T10:22:32.447 回答
0

我不小心从链接到 x-code 项目的位置删除了该文件。我没有在我的 xcode 项目中复制该文件,而只是复制了路径。希望它可以帮助某人。

于 2017-04-04T12:36:53.320 回答