我希望完成我在xcode5中创建的应用。当我使用模拟器运行它时,一切顺利,没有错误,但是当我尝试存档应用程序时,我得到了与项目中的图像有关的无数错误。其中许多都标有“pngcrush caught lilpng error。”的文字。
我的所有图像都是png文件,当我完成项目存档时,即使出现错误,一些图像也会出现,而其他图像则留空。有什么建议或指示吗?
答案 0 :(得分:38)
您可以通过进入您的应用程序停止XCode使用pngcrush缩小图像 - >构建设置并将“压缩PNG文件”设置为编号
这会停止pngcrush运行,但也可能会导致更大的图像。在执行此操作之前,请确保您的PNG没有真正的问题。
背景故事:我的pngcrush / libpng崩溃与PNG(校验和错误/释放已释放的对象等)有类似的问题。这些可以在命令行上重现,所以我重新创建了PNG,甚至将它们转换为其他格式然后返回,但错误仍然存在。在我的情况下,Xcode拒绝了由于没有iPhone 5支持而产生的存档(因为pngcrush杀死了Default-568h@2x.png图像)。以上修复解决了这个问题。
答案 1 :(得分:20)
在我的情况下,我在项目中有2个图像文件,名称相同,错误实际上告诉我哪些文件有问题(不说有2个文件同名)但我傲慢地认为这是别的东西!在厌倦了这个错误之后,我对这些特定的文件进行了更多的调查,很明显哪些是来自之前的版本,现在没有打算(因此可以删除)。删除“较旧”图像后,此错误就消失了。
答案 2 :(得分:14)
如果您的images.xcassets中有图像并且原始图像已链接,则会遇到此问题。删除对图像的引用(保留images.xcassets)。将解决问题
答案 3 :(得分:4)
我通过在预览中打开该图像并将其导出到png并用新的图像替换Xcode中的图像来解决它。
答案 4 :(得分:1)
我在Xcode5 pngcrush中也遇到了同样的问题,抓住了libpng错误,
快速修复:我检查了我正在使用xcode添加(阅读)的png文件。 实际上png文件有内容错误(png文件已损坏),所以我更改了png文件,然后上传,现在它正在工作。
答案 5 :(得分:0)
我通过在“预览”中打开该图像并将其导出为不带alpha的png并将Xcode中的图像替换为新图像来解决该问题。