【问题标题】:Splash Image naming clash and PNG crush error启动图像命名冲突和 PNG 粉碎错误
【发布时间】:2013-10-01 21:23:23
【问题描述】:

我正在使用 xCode5 在我的一个通用项目中添加启动图像。

当我为iPhone Non-Retina (iOS 6.1 or prior) 添加初始图像时,xCode 要求我将图像重命名为 Default.png(足够好)

我为 iPhone 添加所有其他图像。

当我为iPad Portrait Non-Retina (iOS 6.1 or prior) 添加初始图像时,xCode 再次要求我将文件重命名为 Default.png 并将其放在子目录中。

现在,当我尝试构建项目时,由于文件名相同,它会出现 PNG Crush 错误。

这是确切的错误: While reading /Volumes/iosWorkspace/projectName/projectName/Default@2x.png pngcrush caught libpng error: Command /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/copypng emitted errors but did not return a nonzero exit code to indicate failure

【问题讨论】:

  • “PNG Crush”是您爱上图像文件的现象的名称。您要查找的词是“crash”。
  • 不,在这种情况下。粉碎=使东西变小|把东西打碎。
  • @H2CO3 lolz .. 当我第一次看到这个错误时,我也是这么想的:D

标签: ios xcode


【解决方案1】:

图像应该被调用:

iPhone:

  • 默认.png
  • 默认@2x.png
  • 默认-568h@2x.png

iPad:

  • 默认人像.png
  • 默认-Portrait@2x.png
  • Default-Landscape.png
  • 默认-Landscape@2x.png

--- 或者你可以使用 "LandscapeLeft" 和 "LandscapeRight" & "PortraitUpsideDown"

通常不需要在末尾添加“~ipad”,因为您只能为 iPad 选择横向或纵向加载图像。如果您确实需要指定特定于设备的加载图像,那么您可以这样做,但使用波浪号 (~) 而不是连字符 (-)。

Apple 的文档在这里:https://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/App-RelatedResources/App-RelatedResources.html

并确保您获得大写的“D”,否则它将在模拟器上运行,但在设备上不起作用。

【讨论】:

    【解决方案2】:

    似乎在 xCode5 中添加启动图像的顺序很重要。如果没有添加初始图像并且我直接为 iPad 非 Retina 添加图像,xCode 会强制我将其重命名为 Default.png,这意味着用于 iPhone 初始图像。

    我备份了所有的初始图像,将它们从我的项目中删除,然后按如下所示的顺序再次添加:

    然后xCode并没有强迫我将iPad Splash Image重命名为Default.png

    另一个问题(实际上是导致 pngcrush 错误)是我的项目中有两个同名的图像。一个在根目录,一个在子目录。正如我在问题中解释的那样,这是因为 xCode 强制将两个图像重命名为相同的名称。

    【讨论】:

      【解决方案3】:

      肯定有两种可能,

      您的图片已损坏。从 Photoshop 将其重新保存为 .png 或使用新的。 检查您是否在 Xcode 中添加了两个/多个引用。如果是,则删除旧的引用。

      【讨论】:

        【解决方案4】:

        可能对你有帮助。 检查Alpha Channel 属性,如随附的屏幕截图所示。 如果是NO,它应该是YES

        【讨论】:

          【解决方案5】:

          显然有两个相同的文件导致了这个问题。删除了副本,错误消失了。用 Xcode 6.1 在 iOS8.1 上测试了这个

          归功于此线程的答案 iPad: PNG Crush error

          【讨论】:

            【解决方案6】:

            这通常发生在您重命名不同格式的文件时,例如jpg to png.

            创建一个新的.png 并使用它。

            • 在预览中打开您的新图片。
            • cmd+a 选择图片的全部内容。
            • 点击文件>从剪贴板中选择新文件。
            • 保存指定格式类型png的文件并使用它。

            【讨论】:

            • 由于名称冲突导致 pngcrush 失败。
            猜你喜欢
            • 2016-12-11
            • 2011-07-20
            • 1970-01-01
            • 2019-06-08
            • 2019-08-14
            • 1970-01-01
            • 2017-08-05
            • 1970-01-01
            相关资源
            最近更新 更多