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

时间:2015-05-25 11:41:33

标签: ios objective-c iphone xcode6

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

enter image description here

5 个答案:

答案 0 :(得分:11)

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

请务必将第二行路径名中的“IconTest”值更改为项目名称。 运行'pod update',然后回复你的应用程序图标。

来源

此修复程序来自Cocoapods团队。请看这里的主题: https://github.com/CocoaPods/CocoaPods/issues/7003

答案 1 :(得分:4)

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

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

图标A:#74B3BE

Icon A: #74B3BE

此图标在模拟器(iPhone 8)中正常显示

Icon A working in simulator

图标B:#E58921

Icon B: E58921

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

Icon B failing in simulator

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

从图标中删除AdobeRGB颜色配置文件可以解决问题,但会导致颜色褪色。我使用的解决方案是首先将图标转换为sRGB配置文件(我使用ImageMagick)。

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

附录:在我测试期间(我已经失去了一天!)我还观察了图标中的像素密度元数据,影响图标是否出现在模拟器中。 72dpi会工作,150dpi不会。不幸的是,我改变了违规项目,因此无法重现这种情况。

答案 2 :(得分:1)

检查此链接App Icon not showing up, although I have added in Xcode 5

这可能是一个XCode 6错误,添加的图标实际上并未包含在应用程序包中,但您可以通过转到Build Phases,展开Copy Bundle Resources,然后按下底部的“+”符号来解决它手动将图标文件添加到此类别。

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

答案 3 :(得分:1)

有同样的问题。

您还应该检查您是否拥有正确的值"资产目录应用程序图标集名称"在"项目 - >构建设置"。

在我的情况下它是空的(只是"")。当我添加正确的值时(链接器将在Assets.xcassets中找到应用程序图标的部分),在我的情况下" AppIcon",一切都按预期工作。

由于我在Assets.xcassets中有很多资源,我重新安排了不同部分的一些资源等,所以AppIcon部分不在"根目录"目录。也许这就是问题的原因。

答案 4 :(得分:0)

只需从模拟器删除应用程序,清除项目(点击Date.UTC)然后再次运行