ChatGPT解决这个技术问题 Extra ChatGPT

iOS 7 应用程序图标、启动图像和命名约定,同时保留 iOS 6 图标

我刚刚在 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 用户继续看到旧图标。

我应该怎么办?使用“使用资产目录”或手动添加图标,如果我手动添加图标,那么我应该如何命名这些图像?谢谢!


T
Tarek Hallak

绝对资产目录是您的答案,它消除了在添加或更新应用程序图标时遵循命名约定的需要。

以下是从 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 中拖动图像或选择编辑器 > 导入来将图像添加到该图标集。


简而言之,首先我必须根据表格中给出的尺寸浏览和设置图像,然后可以将它们迁移到 iOS 6 和 iOS 7 的资产目录。对吗?
是的,您的旧图像将立即迁移,但新图像肯定需要重新设计,但至少您可以通过 Asset Catalog 准确知道需要重新布局的图标或图像。
由于这样做,我似乎在 Organizer 和 TestFlight 中丢失了我的 AppIcon;这一切似乎都可以在设备上运行——我还需要做些什么才能让它们也能正常工作吗?我也尝试过拥有 CFBundleIcons,知道吗?
我发现对于多个目标项目,最好采用替代路线并为每个目标创建新的资产文件。有时迁移选项会混淆。然后为每个资产分配一个目标成员资格。
谢谢!我试图找到一种方法来编辑这些行。如果你有 XCode 窗口(而不是全屏),文件夹按钮可以隐藏在右侧工具栏的后面。
m
msmq

您应该使用资产目录:

我已经调查过,我们如何使用资产目录;现在对我来说似乎很容易。我想向您展示在资产目录中添加图标和启动画面的步骤。

注意:不需要在 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


嗨:我有这个问题,我有你所做的所有设置。当我运行应用程序时,哪个模拟器会显示图标,但无论我是否进行了所有清理和重建,但是当我部署到真正的 iPhone 5s 时,它永远不会显示。
@phil88530 请确保您也选择了 iOS 7.0 及更高版本(如上面的屏幕截图所示)。其次,还要确保您使用的是最新的 XCode 版本,例如 v 5.1.1 或更高版本。
如果您想节省一些调整所有图标大小的时间,您可以使用此应用,它会为您生成应用图标资产目录:itunes.apple.com/app/id1052532083(免责声明:这是我的应用)
o
ohho

如果您想使用 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 上进行了测试,提交的应用程序没有丢失视网膜图标警告。


您可能还想添加 Icon-76.png 和 Icon-152.png。还要确保图标在“构建阶段”中列出> “复制捆绑资源”(参见 stackoverflow.com/a/12225627/376066
+1 用于您对在哪里添加图标信息的描述。谢谢!
这真的是一个词,谢谢亲爱的,我花了两个小时来设置 APPICON 进行拖放,这对我来说不起作用,但 using.plist 文件是有效的……谢谢你。
D
Danoli3

好的,添加到 @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>