App Icon缺少iOS 11

时间:2017-09-26 08:10:28

标签: cocoapods ios11 xcode9

更新到Xcode 9(9A235)后,在iOS 11上运行后,app图标丢失。它在以前的版本中运行正常。此问题是由CocoaPods引起的。我尝试了this解决方案,但这给了我错误。

  

处理Podfile的安装后挂钩时发生错误。

4 个答案:

答案 0 :(得分:11)

尝试在podfile中添加此脚本。

post_install do |installer|
    installer.aggregate_targets.each do |target|
        copy_pods_resources_path = "Pods/Target Support Files/#{target.name}/#{target.name}-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
end

您可以找到有关此问题的更多信息here

答案 1 :(得分:9)

<强>问题:

<强> 1。应用程序图标未出现在iOS 11或Xcode 9上。

<强> 2。应用程序图标在iPhone上可见但在iPad上无法显示。

对我有用的解决方案:

此问题通常可以解决在Xcode 7上或之前制作的应用程序的问题。

问题似乎与Xcode 9和iOS 11的构建过程有关。过去,Apple一直在使用~iPad扩展来区分iPhone和iPad的资产。

info.plist有一个字典,其中包含“ CFBundleIcons~ipad ”键,它没有任何项目(因为它出现在Xcode 9中),这导致包从信息中获取图像.plist文件而不是images.xcassets,因此Xcode 9上的应用程序图标没有出现。

从.plist文件中删除此密钥对我的构建工作,而其他人没有。

Remove the key titled "CFBundleIcons~ipad"

答案 2 :(得分:4)

在尝试了上面的每个选项后,无济于事,我在构建设置中检查了“ 资产目录应用程序图标集名称 ”在Xcode中,我注意到它是空的。所以我只需将其设置为“AppIcon”(或者您的应用程序图标集在资产目录中命名),它立即起作用。

注意:如果您将 Build Settings 设置为“Basic”或“Customized”,则此设置可能不会显示。因此,请将其设置为“ All

答案 3 :(得分:1)

在这里查看我的解决方案: https://stackoverflow.com/a/48209677/391605

基本上,似乎在Xcode 9.x中,图像集中有额外的图标,特别是对于iPad。如果您自己创建一个“新的iOS应用程序图标”,并告诉Xcode将其用作应用程序的图标,则可以解决此问题。

enter image description here