是的,在使用 资产目录 时,您可能需要执行以下操作以链接应用的图标并为 Ad-Hoc 分发 / 生产 出现在 Organiser、Test flight 以及可能未知的 AppStore 位置。
创建 Asset Catalog 后,记下 Xcode 中 .xassets 中列出的 Launch Images 和 App Icon 名称。
默认情况下应该是
[要查看此内容,请单击 Xcode 中的 .xassets 文件夹/图标。]
(这可以更改,所以请注意这个变量以备后用)
现在每次构建都会在您的 .app 中创建以下数据结构:
对于应用图标:
iPhone
-
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 中添加此密钥,请使用以下内容:
-
Icon files (iOS 5) - 字典
-
Primary Icon - 字典
-
Icon files - 数组
-
Item 0 - 字符串 = 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>