iphone SDK:iPhone 3G的通用二进制应用程序图标为空白

时间:2010-10-26 01:23:18

标签: iphone icons

我有一个通用的二进制iPhone / iPad应用程序。当我在iPhone4和iPad上安装应用程序时,应用程序图标会正确显示。但是,当安装在iPhone 3G上时,图标为空白(灰色)。我已经尝试了一些我能想到的可以解决这个问题并希望得到建议。我遵循了此处的通用应用程序的Apple图标指南:http://developer.apple.com/library/ios/#qa/qa2010/qa1686.html

  1. 我有一个名为Icon.png的57x57图标,用于iPhone 3G图标
  2. 在我的plist中,我有一个CFBundleIconFile条目,其值为“Icon.png”。根据Apple的说法,这个密钥应该包含在内,以便与运行iOS早于v3.2的iPhone向后兼容。
  3. 此外,我有一个CFBundleIconFiles条目列出了各种大小的图标 - 我在上面的开发者链接中包含了Apple提供的所有推荐图标。
  4. iphone模拟器,iPad模拟器,iPhone 4和iPad上的图标看起来不错
  5. 我尝试清理项目
  6. 我确认Icon.png正在复制到目标
  7. 我确认Icon.png位于应用文件中。
  8. 我确认Icon.png是57x57。
  9. 我已经确认该图标没有Alpha通道。实际上,我使用之前的应用程序中的图标进行了测试,该应用程序确实有效,并且仍然在iPhone 3G上显示为空白。
  10. 我尝试将图标保存为8位和24位png,无论是否有透明度。
  11. 在重建之前,我删除了应用并重新启动了iPhone。

4 个答案:

答案 0 :(得分:2)

尝试CFBundleIconFiles(值类型为数组)

as Icon.png,Icon~Pad.png,Icon @ 2x.png

答案 1 :(得分:1)

可能存在两个同名的图像。请检查它。

一切顺利。

答案 2 :(得分:0)

尝试以上所有操作,然后在构建设备之前,从手机中删除应用程序(可选择重新启动),然后再重建到设备。

答案 3 :(得分:0)

我遇到的问题与你所遇到的问题相似,它让我疯狂,直到我终于明白了。问题似乎是,如果您在同一设备上有两个版本的应用程序,设备将显示该应用程序早期版本的应用程序图标。我很确定Apple的图标显示代码中存在一些缓存错误导致这种情况。

这些大致是我得到的错误的重复步骤(我几乎可以肯定你看到了同样的错误):

  1. 为MyApp创建了图标。
  2. 在Device Foo上构建MyApp。
  3. 我在设备上看到MyApp的图标(好!)。
  4. 更改了MyApp的图标。
  5. 为MyApp创建了新的App ID。
  6. 为MyApp创建了新的配置文件。
  7. 更改了MyApp的Xcode项目以使用新的配置文件。
  8. 在Device Foo上构建MyApp。
  9. Xcode在Device Foo上安装MyApp的新副本(因为App ID已更改)。旧的应用程序仍然坐在那里(现在它已经非常重了。)
  10. - > Device Foo显示MyApp的旧图标(不好!)。
  11. 修正:

    1. 删除MyApp的旧副本
    2. 删除MyApp的新副本
    3. 从Xcode构建并启动MyApp
    4. - >新图标应显示在设备上。
    5. 请注意,我没有在第4步和第5步之间构建和启动项目?听起来你可能在你的3GS上用你的应用程序做了类似的事情,所以我建议你仔细查看3GS上的应用程序,试图找出暴露这个Apple bug的应用程序。一旦找到它就删除那个吸盘。无论如何,清除设备上的所有旧垃圾可能是个好主意。

      在使用多个设备时,这是一个非常容易遇到的错误。