如何为通用的iPhone/iPad应用程序指定两个图标?

70

我希望创建一个支持iPhone和iPad的单一应用程序。该应用程序在两个设备的模拟器中按预期工作。现在我正在尝试构建和部署它。我将plist中的“Icon File”设置为57x57.png图像,但是当我构建并尝试提交应用程序时,ItunesConnect抱怨需要一个72x72.png图像来适配iPad。如果我将“Icon File”指定为72x72.png,则ItunesConnect会抱怨需要一个57x57图像来适配iPhone。我如何在单个plist中指定这两个图标?

5个回答

177
在您的 Info.plist 中添加一个类型为 Array 的 CFBundleIconFiles 键。该数组应包含 2 个字符串项:两个图标的文件名。然后,操作系统将根据它们的像素尺寸自动选择每个平台的正确图标。
您可以保留 CFBundleIconFile 键,并使其指向 iPhone 的图标文件,以实现 3.0/3.1 兼容性。
更新于 2010 年 5 月:苹果现在有一个技术说明文档详细解释了这一点:Technical Q&A QA1686 – App Icons on iPad and iPhone

2
+1 对于技术说明,并使用原始键而不是值! - jrtc27
在某些情况下,您需要明确指定键名为“CFBundleIconFiles”。 - bentford
点赞了这个..虽然只是一个 iPhone 上的孩子,但是很喜欢(也很容易理解)更新说明。 - Jigar Pandya
这个链接有效:https://developer.apple.com/library/ios/qa/qa1686/_index.html - George

6

CFBundleIconFile

CFBundleIconFile只能是一个字符串,将用于iphone 3.1及更早版本的构建(我想)。

CFBundleIconFiles

第二个可以更改为值类型“array”(右键单击)。 然后单击其左侧的三角形(使其指向下方),并将值粘贴到右侧。 粘贴第二个值以包含另一个文件名。

似乎名称并不重要,只要是PNG格式即可。 根据正确的大小选择文件,因此仅包括一个57x57的iPhone和一个72x72的iPad文件名即可。

我目前正在将Math Cards Pro转换为通用应用程序,因此尚未成功提交通用应用程序到App Store,但我非常自信所有这些都是正确的。


1
嗯,你知道在放置默认图像时,必须将Default〜landscape和Default〜Portrait放在一起,以便您的iPad应用程序在横向或纵向加载时都显示启动图像。好吧,我也用同样的方法处理了图标。由于iPhone和iPad图标的名称完全相同,即使我将它们分别放在不同的文件夹中,它仍然无法让我选择 iPhone 或 iPad 图标。因此,我将iPhone图标重命名为icon〜iphone,并将其导入到Xcode中,然后将其拖动到iPhone图标图像槽上,并在plist文件中自动识别它。所以我建议这样做,虽然我还没有将它上传到iTunes连接,但它并没有显示任何错误。
希望对你有所帮助。

0

对我也起作用了。使用3.2.b5,我能够右键单击我的plist文件并点击“打开为...源代码”。按照byamabe上面粘贴的信息添加,然后就可以提交了。现在,如果不是因为这个问题而迟到了一个小时...


0

您也可以通过内置编辑器添加它。

icon.png 是字符串0 icon-ipad.png 是字符串1


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接