AppIcon 没有出现在 iPhone 5S iOS 11 with Xcode 9

AppIcon does not appear on iPhone 5S iOS 11 with Xcode 9

我有一个包含 5 个目标的项目。所有这些都有自己的 .xcassets(资产),其中包含 LaunchImages、AppIcons 和另外两个图像资产。所有这些 .xcassets 都被赋予了适当的目标成员身份(正确地添加到它们自己的目标的复制捆绑资源中。所有这些 .xcassets 文件都有不同的名称)。

在iPhone 5S上部署这些应用时,没有出现AppIcon。我在 google 上搜索并找到了这个答案 。我做了一些更改,例如删除 CFBundleIcons 并在我的 Info.plist 文件中添加 CFBundleIconName。但似乎没有任何效果。

我还在 AppIcon 中为所有 .xcassets 文件分配了 AppStore iOS 1024x1024。

我为 AdHoc 分发创建了 ipa 并验证了适当的 AppIcon 被捆绑在存档中(通过提取 ipa 并浏览有效负载)。在使用 http://www.diawi.com 分发 ipa 时,AppIcon 会在安装应用程序时显示在设备上(而循环进度会在 iPhone 上的 AppIcon 上显示)。但是随着安装完成,AppIcon 消失了。

我在 iPhone 5 (iOS 10.x.x) 上检查了相同的 AdHoc 构建,AppIcon 显示在上面。那么,究竟是什么在 iPhone 5S 上为 iOS 11 造成了问题。

Xcode 将每个目标及其方案的 AppIcon 显示为:

我的 Xcode 版本是:版本 9.0 (9A235)。有人请确认我有最新的稳定版本(不是测试版/GM 种子)。

我的 iPhone 5S 是在 iOS 11 上通过官方发布更新的(我还没有安装 iOS 11 的测试版)。

在预览中打开您的应用程序图标。转到工具 -> 分配配置文件。 Select 下拉列表中的 sRGB IEC61966-2.1。您必须为您的应用程序使用的所有应用程序图标执行此操作。

我终于找到了 cocoapods 的问题。位于 'Pods -> Target Support Files -> Pods-ProjectName -> Pods-ProjectName-resources.sh' 的 shell-脚本包含一个部分(可能是最后一个),它将所有资产目录合并为一个部分,因此我导出的存档将包含来自所有目标的资产并导致意外的 AppIcon。

我所要做的就是删除 shell 脚本中将资产目录合并为一个的部分。如果您遇到同样的问题,请参阅 答案。

对我有用的:

转到 'TARGETS -> Build Settings' 并在 'Asset Catalog App Icon Set Name' 中设置您的图标名称。