【问题标题】:Xcode 4.3.2 Default Launch Image Corrupted Bottom PixelXcode 4.3.2 默认启动图像损坏的底部像素
【发布时间】:2012-04-18 15:43:57
【问题描述】:

当我在 iOS 5.1 上启动我的应用程序时,在设备上(目前仅在视网膜显示器上测试过),Default@2x.png 图像在图像底部下方显示有一条绿线。我已经确认图像是 640x960,并且不包含这条绿线。

我猜这一定是由于在将资源添加到捆绑包之前运行的 PNG 优化工具 Xcode 存在问题,特别是因为我在使用模拟器运行时没有看到这一点。

有没有办法修复或更新这个 PNG 优化实用程序? (我正在运行最新的 Xcode 4.3.2 for Lion,来自 Mac App Store)。

【问题讨论】:

  • 我已经确认问题是由于 png 压缩。您可以在目标构建设置中关闭“压缩 PNG 文件”,这个问题就会消失。这个问题描述了如何确定 xcode 用于 pngcrush 的位置:stackoverflow.com/questions/9338019/…。现在我正在寻找一种方法来安装 pngcrush 的工作版本,这样我仍然可以获得优化的文件而不会出现这种损坏。

标签: ios xcode pngcrush


【解决方案1】:

安装在 Xcode 4.3.2 的应用程序包中的 pngcrush 1.6.4 中存在一个错误。我可以按照以下说明解决此问题(感谢http://www.mactricksandtips.com/2012/02/installing-and-using-pngcrush-on-your-mac.html):

  1. 在此处下载最新版本的 pngcrush:http://sourceforge.net/projects/pmt/files/pngcrush/
  2. 使用您喜欢的压缩实用程序解压缩文件(或者,在终端(或您喜欢的命令行工具)中,导航到保存此下载的目录,然后运行此命令(您可能需要根据你的下载)

    tar -xvzf pngcrush-1.7.15.tar.xz

  3. 在命令行工具中导航到解压后的目录。
  4. 运行命令“make”
  5. 运行命令“sudo cp pngcrush /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/pngcrush”将这个最新版本复制到旧版本之上。

【讨论】:

  • 您还可以在 ImageOptim 应用程序包中获取 pngcrush 二进制文件(1.7.22、liblibpng.dylibpngcrush)。
  • 确认此问题在 Xcode 版本 6.1.1 (6A2008a) 中仍然存在。请务必按照 Damin Debin 的建议从 ImageOptim 复制 liblibpng.dylib 和 pngcrush,并通过按 command-option-shift-k 并从设备中删除您的应用程序然后重新运行它来清理您的构建文件夹。否则 Xcode 可能会使用损坏图像的缓存副本。
【解决方案2】:

对于像我这样使用 XCode 4.5.2 遇到此问题的人,当 project.pbxproj 与此支持论坛帖子中所述的 PNG 图像文件记录冲突时,此错误似乎会表现出来: https://devforums.apple.com/message/731402

与该线程中的答案不同(即,手动编辑 .pbxproj 文件,这不是我最喜欢做的事情......)我发现删除对有问题图像的引用并将它们再次添加到项目文件中更正了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-02
    • 1970-01-01
    • 1970-01-01
    • 2012-11-18
    • 1970-01-01
    • 2010-12-28
    • 2020-01-30
    相关资源
    最近更新 更多