Xcode 10 个应用程序图标未显示
Xcode 10 app icon not showing
最近更新到 Xcode 10 beta 和我的应用程序,以前在构建时显示正确的图标,运行 从 Xcode 9.4 到设备现在显示默认的空白图标 运行 在 Xcode 10.
打开 AppIcon 资产时,它在所有占位符中正确显示图标,没有任何警告图标。点击新 "Show Slicing" 时我没有看到任何东西。
有人知道如何解决此问题以便显示应用程序图标吗?
确保你的 "App Icons Source" 在 "App Icons and Launch Images" 下选择了你的 AppIcon 有时你的 AppIcon 可以在你的 Assets.xcassets 文件夹中命名为类似 "AppIcon-1" 的名称。
更新到 Xcode 10 beta 后出现同样的问题。
我可能会通过将活动开发人员目录更改为 Xcode10:
来修复它
sudo xcode-select --switch /Applications/Xcode-beta.app/Contents/Developer
或 select Xcode 10.0
在 Xcode->Preferences->Locations->Command Line Tools
.
希望这对您有所帮助。
Apple 于 2018 年 6 月 19 日发布了 Xcode10.beta 2. 升级解决了我遇到的图标不显示的问题。所以,我猜是 Xcode 10.0 中的错误。
我在更改资产目录后遇到了这个问题。我相信修复它的是选择 AppIcon 资产以及选择和取消选择主要应用程序目标的目标成员资格。这是在 Xcode 10 正确的。
我在 iPad 上进行测试,在我的情况下,问题是默认的 AppIcon 不包含任何 iPad 插槽。
我不知道这是否与我的应用程序初始化方式有关(我使用的是 React Native),但我多年来一直在解决问题,甚至没想过要检查它们是否存在。傻我...
为了解决这个问题,我删除了现有图标,单击 + 按钮并选择 ['App Icons & Launch items' -> 'New iOS App Icons'],如下所示。然后我就按预期填充了。
在我的例子中,Xcode 在 App Icons Source 中使用了 "Use Asset Catalog"。要查看您可以转到项目->常规->应用程序图标源。
为了修复它,我选择了 "Migrate" 并创建了一个新的资产目录。当我这样做时,最旧的资产目录在应用程序图标中收到警告。所以我再次将图标上传到这个最旧的目录并删除了临时目录。
App Icons Source 返回显示 "AppIcon" 并且有效。
我整天都在和这个问题作斗争,它不会出现在模拟器或真实设备中。
最终我通过确保将 AppIcon 的目标成员资格设置为应用程序名称并且位置为 "Relative to Project".
来让它工作
在我的例子中,这两个选项设置错误
对我来说,解决方案是删除资产文件夹中的 AppIcon 文件,然后重新添加(这也意味着重新添加图像)。我不知道为什么,但这对我来说已经解决了。
此问题现在出现在 iOS 15 Beta 和 iPadOS 15 Beta 上,但我们找到了解决方法。
我们更改了游戏中的图标,但它没有加载到任何 Beta 设备上。我们尝试了一个非测试版设备,它工作得很好。我决定为 iOS 和 iPadOS 15 beta 安装 Device Support,现在如果图标已更改,我不会立即看到它,但如果我重新启动设备,我会看到。我们知道图标在项目中是正确的,因为我们进行了 TestFlight 构建并且它在非 Beta 设备上工作。
我在 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 /
在 Xcode 12.5 中,我遇到了同样的问题,但显然仍未解决。尝试了上述许多解决方案,none 有所帮助。然后我做了“清理构建文件夹”,然后取消选中资产目录的目标复选框,构建,再次执行“清理构建文件夹”,选中资产目录的目标复选框,然后再次构建;现在图标可以工作了。这似乎是某种无法清除的不良缓存状态;我猜这些步骤中的某些内容导致缓存失效。相同的步骤但不清理构建文件夹并不能解决问题,所以清理可能是这里的关键因素。
您可以通过 3 个步骤解决问题。
单击 yourprojectname.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 /
在尝试其他解决方案后,这解决了我的问题。
别忘了:
- 卸载应用,
- 重启模拟器
- 构建您的项目
如果您使用的是 Xcode 13 & iOS 15
- 安装应用并重启设备。
应用程序图标显示在设备上。
另一个棘手的解决方案,但不要使用(它仅用于测试目的,不是最佳解决方案。
- 更改包标识符 & 运行 项目
最近更新到 Xcode 10 beta 和我的应用程序,以前在构建时显示正确的图标,运行 从 Xcode 9.4 到设备现在显示默认的空白图标 运行 在 Xcode 10.
打开 AppIcon 资产时,它在所有占位符中正确显示图标,没有任何警告图标。点击新 "Show Slicing" 时我没有看到任何东西。
有人知道如何解决此问题以便显示应用程序图标吗?
确保你的 "App Icons Source" 在 "App Icons and Launch Images" 下选择了你的 AppIcon 有时你的 AppIcon 可以在你的 Assets.xcassets 文件夹中命名为类似 "AppIcon-1" 的名称。
更新到 Xcode 10 beta 后出现同样的问题。
我可能会通过将活动开发人员目录更改为 Xcode10:
来修复它sudo xcode-select --switch /Applications/Xcode-beta.app/Contents/Developer
或 select Xcode 10.0
在 Xcode->Preferences->Locations->Command Line Tools
.
希望这对您有所帮助。
Apple 于 2018 年 6 月 19 日发布了 Xcode10.beta 2. 升级解决了我遇到的图标不显示的问题。所以,我猜是 Xcode 10.0 中的错误。
我在更改资产目录后遇到了这个问题。我相信修复它的是选择 AppIcon 资产以及选择和取消选择主要应用程序目标的目标成员资格。这是在 Xcode 10 正确的。
我在 iPad 上进行测试,在我的情况下,问题是默认的 AppIcon 不包含任何 iPad 插槽。
我不知道这是否与我的应用程序初始化方式有关(我使用的是 React Native),但我多年来一直在解决问题,甚至没想过要检查它们是否存在。傻我...
为了解决这个问题,我删除了现有图标,单击 + 按钮并选择 ['App Icons & Launch items' -> 'New iOS App Icons'],如下所示。然后我就按预期填充了。
在我的例子中,Xcode 在 App Icons Source 中使用了 "Use Asset Catalog"。要查看您可以转到项目->常规->应用程序图标源。
为了修复它,我选择了 "Migrate" 并创建了一个新的资产目录。当我这样做时,最旧的资产目录在应用程序图标中收到警告。所以我再次将图标上传到这个最旧的目录并删除了临时目录。
App Icons Source 返回显示 "AppIcon" 并且有效。
我整天都在和这个问题作斗争,它不会出现在模拟器或真实设备中。
最终我通过确保将 AppIcon 的目标成员资格设置为应用程序名称并且位置为 "Relative to Project".
来让它工作在我的例子中,这两个选项设置错误
对我来说,解决方案是删除资产文件夹中的 AppIcon 文件,然后重新添加(这也意味着重新添加图像)。我不知道为什么,但这对我来说已经解决了。
此问题现在出现在 iOS 15 Beta 和 iPadOS 15 Beta 上,但我们找到了解决方法。
我们更改了游戏中的图标,但它没有加载到任何 Beta 设备上。我们尝试了一个非测试版设备,它工作得很好。我决定为 iOS 和 iPadOS 15 beta 安装 Device Support,现在如果图标已更改,我不会立即看到它,但如果我重新启动设备,我会看到。我们知道图标在项目中是正确的,因为我们进行了 TestFlight 构建并且它在非 Beta 设备上工作。
我在 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 /
在 Xcode 12.5 中,我遇到了同样的问题,但显然仍未解决。尝试了上述许多解决方案,none 有所帮助。然后我做了“清理构建文件夹”,然后取消选中资产目录的目标复选框,构建,再次执行“清理构建文件夹”,选中资产目录的目标复选框,然后再次构建;现在图标可以工作了。这似乎是某种无法清除的不良缓存状态;我猜这些步骤中的某些内容导致缓存失效。相同的步骤但不清理构建文件夹并不能解决问题,所以清理可能是这里的关键因素。
您可以通过 3 个步骤解决问题。
单击 yourprojectname.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 /
在尝试其他解决方案后,这解决了我的问题。
别忘了:
- 卸载应用,
- 重启模拟器
- 构建您的项目
如果您使用的是 Xcode 13 & iOS 15
- 安装应用并重启设备。
应用程序图标显示在设备上。
另一个棘手的解决方案,但不要使用(它仅用于测试目的,不是最佳解决方案。
- 更改包标识符 & 运行 项目