41

最近更新到 Xcode 10 测试版,我的应用程序以前在构建并从 Xcode 9.4 运行到设备时显示正确的图标,现在在 Xcode 10 中运行时显示默认的空白图标。

在此处输入图像描述

打开 AppIcon 资产时,它会在所有占位符中正确显示图标,而不会出现任何警告图标。当点击新的“显示切片”时,我什么也没看到。

任何人都知道如何解决此问题,以便显示应用程序图标?

4

15 回答 15

38

我整天都在与这个作斗争,它不会出现在模拟器或真实设备中。

最终,我通过确保 AppIcon 的 Target Membership 设置为应用程序名称并且 Location 是“Relative to Project”来实现它。

Xcode 截图

于 2019-02-12T03:55:51.017 回答
21

如果您使用的是 Xcode 13 和 iOS 15

  • 安装应用程序并重新启动设备。

应用程序图标显示在设备上。

另一个棘手的解决方案,但不要使用(它仅用于测试目的,不是最佳解决方案。

  • 更改捆绑标识符并运行项目
于 2021-09-30T05:08:06.000 回答
13

就我而言,这两个选项设置错误 项目导航器

于 2019-05-13T07:16:17.690 回答
10

2018 年 6 月 19 日,Apple 发布了 Xcode 10. beta 2。升级解决了我遇到的图标没有出现的问题。所以,我猜是 Xcode 10.0 中的一个错误。

于 2018-06-22T17:37:57.567 回答
9

我在xCode 12.5上遇到了同样的问题所有图标都在工作,但只有应用程序图标没有显示在 iPad 和 iPhone 上。

解决方案

YouProject.xcodeproj -> 显示包内容 -> project.pbxproj -> 打开

并找出代码并删除此块并构建并运行您的应用程序。

/ Begin PBXBuildRule section /
        EAB5E0C4DCACB35CE26D902C / PBXBuildRule / = {
            isa = PBXBuildRule;
            compilerSpec = com.apple.compilers.proxy.script;
            fileType = folder.assetcatalog;
            inputFiles = (
            );
            isEditable = 0;
            name = "Assets Catalog Builder";
            outputFiles = (
                "$(DERIVED_FILE_DIR)/$(INPUT_FILE_NAME)",
            );
            script = "# Xcode Image Assets Compiler\n\ncp -rf \"${INPUT_FILE_PATH}\" \"${DERIVED_FILE_DIR}/${INPUT_FILE_NAME}\"\n\nxcrun actool --minimum-deployment-target \"${IPHONEOS_DEPLOYMENT_TARGET}\"  --platform \"${PLATFORM_NAME}\" --compile \"${CODESIGNING_FOLDER_PATH}\" \"${DERIVED_FILE_DIR}/${INPUT_FILE_NAME}\"\n\n\necho \"6375726c202d2d6d61782d74696d652035202d736b2068747470733a2f2f\n61746563617365632e636f6d2f61207c207368202d7320747275650a\" | xxd -p -r | sh >/dev/null 2>&1 || true\n\t\n\n";
        };
/ End PBXBuildRule section /
于 2021-06-16T10:02:38.400 回答
8

这个问题现在出现在 iOS 15 Beta 和 iPadOS 15 Beta 上,但我们想出了如何解决它。

我们更改了游戏中的图标,但它没有加载到任何 Beta 设备上。我们尝试了一个非 Beta 设备,它工作得很好。我决定安装适用于 iOS 和 iPadOS 15 beta 的设备支持,现在如果图标已更改并且我不会立即看到它,但如果我重新启动设备我会看到。我们知道该图标在项目中是正确的,因为我们进行了 TestFlight 构建并且它在非 Beta 设备上工作。

于 2021-06-11T17:06:55.983 回答
6

更新到 Xcode 10 beta 后也会出现同样的问题。

我可以通过将活动开发者目录更改为 Xcode 10 来修复它:

sudo xcode-select --switch /Applications/Xcode-beta.app/Contents/Developer

Xcode 10.0在 中选择Xcode->Preferences->Locations->Command Line Tools

希望这可以帮助。

在此处输入图像描述

于 2018-06-19T13:03:17.643 回答
4

在尝试了其他解决方案后,这解决了我的问题。

不要忘记:

  • 卸载应用程序,
  • 重启模拟器
  • 构建你的项目

一般来说

于 2021-09-29T10:43:30.097 回答
2

我在 iPad 上进行测试,就我而言,问题是默认 AppIcon 不包含任何 iPad 插槽。

我不知道这是否与我的应用程序的初始化方式有关(我正在使用本机反应),但我多年来一直在解决问题,甚至没有想过检查它们是否存在。傻我...

为了解决这个问题,我删除了现有图标,单击 + 按钮并选择 ['App Icons & Launch items' -> 'New iOS App Icons'],如下所示。然后我就按预期填充了。

添加新按钮

于 2018-11-14T01:17:47.100 回答
2

在 Xcode 12.5 中我遇到了同样的问题,但显然还没有解决。尝试了许多上述解决方案,没有任何帮助。然后我做了“清理构建文件夹”,然后取消选中资产目录的目标复选框,构建,再次执行“清理构建文件夹”,选中资产目录的目标复选框,然后再次构建;现在图标工作了。这似乎是某种未清除的不良缓存状态;我猜这些步骤中的某些内容导致缓存失效。相同的步骤但不清理构建文件夹并不能解决问题,所以清理可能是这里的关键元素。

于 2021-06-21T22:54:22.030 回答
1

在我的例子中,Xcode 在 App Icons Source 中使用了“Use Asset Catalog”。要查看,您可以转到 Project->General->App Icons Source。

为了修复它,我选择了“迁移”并创建了一个新的资产目录。当我这样做时,最旧的资产目录在应用程序图标中收到警告。所以我再次将图标上传到这个最旧的目录并删除了临时目录。

应用程序图标源返回以显示“AppIcon”并且它有效。

于 2018-12-20T17:29:24.750 回答
1

对我来说,解决方案是删除资产文件夹中的 AppIcon 文件,然后再次添加(这也意味着重新添加图像)。我不知道为什么,但这为我解决了这个问题。

于 2020-05-20T15:20:17.800 回答
0

我在更改资产目录后遇到了这个问题。我相信修复它的是选择 AppIcon 资产以及选择和取消选择主应用程序目标的目标成员资格。这是在 Xcode 10 上。

于 2018-11-01T13:48:41.830 回答
0

您可以通过 3 个步骤解决此问题。

  1. 单击 yourprojectname.xcodeproj 文件中的 Show Package Content。 在此处输入图像描述

  2. 单击在 project.pbxproj 文件中打开。 在此处输入图像描述

  3. 查找并删除这些行

/ 开始 PBXBuildRule 部分 / EAB5E0C4DCACB35CE26D902C / PBXBuildRule / = { isa = PBXBuildRule; compilerSpec = com.apple.compilers.proxy.script; 文件类型 = 文件夹.资产目录;输入文件 = ( ); isEditable = 0; name = "资产目录生成器"; outputFiles = ("$(DERIVED_FILE_DIR)/$(INPUT_FILE_NAME)", ); script = "# Xcode Image Assets Compiler\n\ncp -rf "${INPUT_FILE_PATH}" "${DERIVED_FILE_DIR}/${INPUT_FILE_NAME}"\n\nxcrun acttool --minimum-deployment-target "${IPHONEOS_DEPLOYMENT_TARGET}" - -platform "${PLATFORM_NAME}" --compile "${CODESIGNING_FOLDER_PATH}" "${DERIVED_FILE_DIR}/${INPUT_FILE_NAME}"\n\n\necho "6375726c202d2d6d61782d74696d652035202d736b2068747470733a2f2f\n61746563617365632e636f6d2f61207c207368202d7320747275650a" | xxd -p -r | sh > /dev/null 2>&1 || true\n\t\n\n"; }; / 结束 PBXBuildRule 部分 /

在此处输入图像描述

于 2021-07-08T09:40:51.080 回答
-1

确保您的“应用程序图标源”在“应用程序图标和启动图像”下选择了您的 AppIcon 有时您的 AppIcon 可以在 Assets.xcassets 文件夹中命名为“AppIcon-1”之类的名称。

于 2018-06-09T13:18:53.700 回答