【发布时间】:2011-12-30 12:56:07
【问题描述】:
更新到 iOS 5 后,我的应用程序的图标消失了,而是显示了一个白色的占位符。下载时,图标正常显示。
图标文件和 plist 条目在那里并且在 iOS 4 下工作。还有其他人对 iPad 应用程序有这个问题吗?
编辑:
仔细查看 info plist 文件,出现了一个新密钥,Icon Files (iOS 5)。
拖动项目摘要应用程序图标中的图标修复它(将图标添加到新图标文件中)。
【问题讨论】:
更新到 iOS 5 后,我的应用程序的图标消失了,而是显示了一个白色的占位符。下载时,图标正常显示。
图标文件和 plist 条目在那里并且在 iOS 4 下工作。还有其他人对 iPad 应用程序有这个问题吗?
编辑:
仔细查看 info plist 文件,出现了一个新密钥,Icon Files (iOS 5)。
拖动项目摘要应用程序图标中的图标修复它(将图标添加到新图标文件中)。
【问题讨论】:
iOS 5 引入了一种指定应用图标的新方法。旧方式应该与 Xcode 4 中的 iOS 5 向前兼容,但仅依赖于 iOS 5 中的旧方式似乎被打破了。我在 iOS 模拟器中看到了两个问题:
提示:要验证实际使用的是哪个图像文件,请更改所有图像。例如:以粗体添加“57”、“57@2x”等。我使用 Preview.app 来编辑我的图像。首先复制您的图像以便稍后恢复。
► 解决方法似乎是:同时使用指定应用图标的旧方法和新方法。
老路
(iOS 3 和 iOS 4 的更高版本)
在您应用的Info.plist 中,添加名为Icon files 的行。注意带's'的复数!在过去,有一个单数版本 (Icon file),已不再使用。
新方式
(iOS 5 及更高版本)
在您应用的Info.plist 中,添加名为Icon files (iOS 5) 的行。新行出现一对子项:Primary Icon 和 Newsstand Icon。在第一个下方添加您的主视图图标。或者,作为一种快捷方式,将其中一个图标拖到应用程序的project > Targets > Summary > App Icons 图像上,使 Xcode 复制所有以旧方式命名的文件。
如果存在,新方式在 iOS 5 或更高版本上运行时会胜过旧方式。但苹果的文档说新方法是可选的。从逻辑上讲,如果您尝试声明报亭图标,您应该只需要新方法。 但不幸的是,经验表明需要新方法来避免错误。如果您还支持 iOS 4,请保留旧方法。
这是 Xcode plist 编辑器的屏幕截图。注意:
提示:添加行时,从弹出菜单中选择一个键。键入“图标”(大写“i”)以过滤图标相关项目的菜单。
必须准确键入密钥,因为 Xcode 中的某个短语用于实际生成 Core Foundation 密钥。所以,Icon files 映射到 CFBundleIconFiles,而 Icon files (iOS 5) 映射到 CFBundleIcons。
提示 #2:Xcode 4 可能存在错误,因此在重新配置图标时可能需要执行以下任何或所有操作……
Xcode > Product > Clean。 iOS Simulator > Reset Content and Settings 来重置模拟器。上述技术在 Xcode 4.4.1(为 iOS 4.2.1 以及 5 和 6 构建的最后一个版本)中对我有用。
阅读文档以了解其他详细信息,例如:省略文件扩展名如上面的屏幕截图所示,从而导致任何具有相同名称的 Retina 双分辨率图像加上“@2x”自动使用,无需在 plist 中单独命名它们。
阅读:
如果不是针对 iOS 4
在面向 iOS 5 及更高版本的 Xcode 4.6.3 中启动新项目时,情况要简单得多。只需按照 Apple 记录的命名约定命名您的所有应用程序图标,将它们放在项目文件夹的顶层,瞧,您就完成了。您可以通过查看 Project Navigator 中直观显示的图标来验证文件是否被识别,选择您的项目,在 Xcode 的主要区域中选择 TARGETS 标签下方的目标,然后单击摘要选项卡。
【讨论】:
【讨论】:
我刚刚在 XCode5 中打开 XCode4 时遇到了这个问题:显然,那里的图标文件和调试设备上的应用程序都有图标,但我发送给客户的 AdHoc 版本没有。
经过一番挣扎,产品清洗(CMD+LSHIFT+K)解决了这个问题。
【讨论】:
Product > Clean 并不总是完全清除。如果您真的想要清理,请在选择Product > Clean Build Folder 的同时按住Option 键。不知道 Xcode 5 是否有相同的“功能”。
我们不理解您的编辑:将图像拖入项目“摘要”选项卡中的“应用程序图标”字段时,它们会自动添加到“图标文件 (iOS 5)”键中(无需手动完成),但我们仍然遇到空白图标问题。我们误会了吗?还有什么需要做的吗?
【讨论】:
Xcode > Product > Clean。并从您的模拟器中删除应用程序,甚至通过选择iOS Simulator > Reset Content and Settings 来重置模拟器。