我的iOS应用程序没有在模拟器中显示应用程序图标

我已经在资产目录以及我的应用程序中添加了所有必需的图标,但是它没有在模拟器上显示图标

在这里输入图像说明

检查此链接应用程序图标没有显示,虽然我已经在Xcode 5中添加

这可能是一个XCode 6错误,添加的图标实际上并未包含在应用程序包中,但是您可以通过“构build阶段”,展开“复制包资源”,然后按底部的“+”号手动添加图标文件到这个类别。

此外,iOS 5/6似乎有一个错误,即使图标文件包含在软件包中,屏幕也不会更新应用程序图标。 要解决该问题,您可以将应用程序图标拖到文件夹中,然后iOS将更新它的外观。

iOS 11 Xcode 9

如果你使用的是CocoaPods,那就到这里吧!

问题:

基本上Xcode 9 / iOS 11添加资产文件的方式和CocoaPods得到的一些奇怪的插入方式有些不同,导致图标文件没有被包含在内。

固定:

复制并将此片段放到您的podfile中:

 post_install do |installer| copy_pods_resources_path = "Pods/Target Support Files/Pods-IconTest/Pods-IconTest-resources.sh" string_to_replace = '--compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"' assets_compile_with_app_icon_arguments = '--compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${BUILD_DIR}/assetcatalog_generated_info.plist"' text = File.read(copy_pods_resources_path) new_contents = text.gsub(string_to_replace, assets_compile_with_app_icon_arguments) File.open(copy_pods_resources_path, "w") {|file| file.puts new_contents } end 

请务必将第二行的path名称中的“IconTest”值更改为您的项目名称。 运行“pod更新”,然后回到应用程序图标。

资源

https://github.com/CocoaPods/CocoaPods/issues/7003

在iPhone 7,iPhone 8和iPhone X模拟器(Xcode 9,iOS 11)上,如果它包含某些颜色,我的应用程序图标将不会显示!

下面是两个图标图像,60pt @ 2x,都使用AdobeRGB颜色configuration文件。 我用ImageMagick生成了这些 – 唯一的区别是它们是不同的颜色。

图标 – 答:#74B3BE

图标 - 答:#74B3BE

这个图标在模拟器(iPhone 8)

图标在模拟器中工作

图标B:#E58921

图标B:E58921

该图标在模拟器中不起作用:

图标B在模拟器中失败

将图标B的颜色的单个像素添加到图标A也会导致它停止工作。

从图标中删除AdobeRGB颜色configuration文件可以修复问题,但会导致颜色被清除。 我使用的解决scheme是首先将图标转换为sRGBconfiguration文件(我使用ImageMagick)。

这是否是物理iPhone 8 / iPhone X的问题还有待观察,因为它们还没有出售。 其他模拟硬件,如iPhone 6s,即使运行的是iOS 11,也不会出现这个问题。

附录:在我的testing过程中(我已经失去了一天!)我还观察图标中的像素密度元数据是否出现在模拟器中的图标。 72dpi将工作,150dpi不会。 不幸的是,我改变了违规项目,从那以后一直没能重现这个案例。

只需从模拟器,清理项目(命中CMD + K )中删除应用程序并再次运行