我刚刚在 iOS 6 上完成了一个应用程序并在一周前购买了一个开发者帐户,所以没有太多时间玩 iOS 7 SDK。刚刚下载了 Golden Master 版本并尝试升级我的应用程序以与 iOS 7 兼容。
我意识到 iOS 7 需要对应用程序图标进行一些处理。我检查了许多相关问题,我很困惑该怎么做。我已经有一个带有应用程序图标的 iOS 6 应用程序,当我安装黄金大师版本时,我看到以下内容:
https://i.stack.imgur.com/DsX18.png
对于启动图像:
https://i.stack.imgur.com/l5h3O.png
我可以为 iOS 7 创建新的平面图标,同时我希望 iOS 用户继续看到旧图标。
我应该怎么办?使用“使用资产目录”或手动添加图标,如果我手动添加图标,那么我应该如何命名这些图像?谢谢!
绝对资产目录是您的答案,它消除了在添加或更新应用程序图标时遵循命名约定的需要。
以下是从 Apple 迁移应用程序图标集或启动图像集的步骤:
1- 在项目导航器中,选择您的目标。
2- 选择常规窗格,然后滚动到应用程序图标部分。
https://i.stack.imgur.com/XWLZa.png
3- 通过单击图像行右侧的文件夹图标并在出现的对话框中选择图像文件来指定应用程序图标表中的图像。
https://i.stack.imgur.com/2Y4Pn.png
4-通过单击使用资产目录按钮,从弹出菜单中选择资产目录,然后单击迁移按钮,将应用程序图标表中的图像迁移到资产目录。
https://i.stack.imgur.com/P9SZb.png
或者,您可以通过选择编辑器 > 新应用程序图标来创建一个空的应用程序图标集,然后通过从 Finder 中拖动图像或选择编辑器 > 导入来将图像添加到该图标集。
您应该使用资产目录:
我已经调查过,我们如何使用资产目录;现在对我来说似乎很容易。我想向您展示在资产目录中添加图标和启动画面的步骤。
注意:不需要在 info.plist 文件中输入任何条目 :) 并且没有任何其他配置。
在下图中,在右侧,您将看到突出显示的区域,您可以在其中提及您需要的图标。在我的情况下,我选择了前四个复选框;作为我的应用程序要求。您可以根据自己的要求进行选择。
https://i.stack.imgur.com/VtxYc.png
https://i.stack.imgur.com/b4hhJ.png
https://i.stack.imgur.com/4yF8R.png
https://i.stack.imgur.com/Oamvn.png
如果您不想使用 Asset Catalog,可以通过创建 120x120 .png 图像为旧应用添加 iOS 7 图标。将其命名为 Icon-120.png
并拖入项目。
在 TARGET > Your App > Info > Icon files 下,在 Target Properties 中再添加一项:
https://i.stack.imgur.com/pxVzc.png
我在 Xcode 5 上进行了测试,提交的应用程序没有丢失视网膜图标警告。
好的,添加到 @null 的关于使用资产目录的精彩帖子。
您可能需要执行以下操作以链接应用程序的图标并为 Ad-Hoc 分发/生产工作,以便在 Organizer、Test flight 和可能未知的 AppStore 位置看到。
创建资产目录后,记下 Xcode 中 .xassets
中列出的启动图像名称和应用程序图标名称。
默认情况下,这应该是
应用图标
启动图像
[要查看此内容,请单击 Xcode 中的 .xassets 文件夹/图标。](可以更改,因此请记下此变量以备后用)
现在每个构建都在您的 .app 中创建以下数据结构:
对于应用程序图标:
苹果手机
AppIcon57x57.png(iPhone 非视网膜)[注意图标名称前缀]
AppIcon57x57@2x.png (iPhone 视网膜)
并且其他每个图标分辨率的格式相同。
iPad
AppIcon72x72~ipad.png (iPad 非视网膜)
AppIcon72x72@2x~ipad.png (iPad 视网膜)
(对于 iPad,后缀略有不同)
主要问题
现在我注意到,在 Xcode 5.0.1 中的 Info.plist
中,它在完成资产目录的创建后自动尝试并未能为“Icon files (iOS 5)
”创建密钥。
如果它确实成功创建了引用/这可能已被 Apple 修补或刚刚工作,那么您所要做的就是查看图像名称以验证上面列出的格式。
最终解决方案:
将以下键添加到您的主 .plist
我建议您使用 TextWrangler 等外部文本编辑器打开主 .plist
,而不是在 Xcode 中复制并粘贴以下密钥。
<key>CFBundleIcons</key>
<dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>AppIcon57x57.png</string>
<string>AppIcon57x57@2x.png</string>
<string>AppIcon72x72~ipad.png</string>
<string>AppIcon72x72@2x~ipad.png</string>
</array>
</dict>
</dict>
请注意,我只包含了我的示例分辨率,您需要将它们全部添加。
如果您想在没有外部编辑器的情况下在 Xcode 中添加此密钥,请使用以下命令:
图标文件 (iOS 5) - 字典
主图标 - 字典
图标文件 - 数组
项目 0 - String = AppIcon57x57.png 以及其他项目/应用程序图标。
现在,当您最终归档项目时,最终的 .xcarchive 有效负载 .plist 现在将包含上述图标位置以进行构建和使用。
不要将以下内容添加到任何 .plist 中:这只是 Xcode 现在将为您的最终有效负载生成的示例
<key>IconPaths</key>
<array>
<string>Applications/Example.app/AppIcon57x57.png</string>
<string>Applications/Example.app/AppIcon57x57@2x.png</string>
<string>Applications/Example.app/AppIcon72x72~ipad.png</string>
<string>Applications/Example.app/AppIcon72x72@2x~ipad.png</string>
</array>