Ios 从Xcode生成的应用程序中不包含应用程序图标
从最新的Xcode测试版安装版本时,我看不到iOS AppIcon。可能的错误是什么 我已经包括了所需的图标尺寸,包括1024x1024。您并不孤单 在我的项目中,我发现以前正常工作的AppIcon资源不再导致呈现应用程序图标。一系列的实验发现:Ios 从Xcode生成的应用程序中不包含应用程序图标,ios,xcode,Ios,Xcode,从最新的Xcode测试版安装版本时,我看不到iOS AppIcon。可能的错误是什么 我已经包括了所需的图标尺寸,包括1024x1024。您并不孤单 在我的项目中,我发现以前正常工作的AppIcon资源不再导致呈现应用程序图标。一系列的实验发现: 从AppIcon工作的另一个项目中复制的AppIcon资源导致AppIcon在此项目中工作,这表明特定的原始AppIcon资源有问题,无法工作 将图像文件从非工作的AppIcon资源复制到工作的AppIcon资源会导致工作的AppIcon资源现在也失
- 从AppIcon工作的另一个项目中复制的AppIcon资源导致AppIcon在此项目中工作,这表明特定的原始AppIcon资源有问题,无法工作
- 将图像文件从非工作的AppIcon资源复制到工作的AppIcon资源会导致工作的AppIcon资源现在也失败
- 创建一个新的AppIcon资源,并插入原始的应用图标图像,同样会导致一个空白的应用图标李>
- 使用我常用的预处理应用程序Prep重新导出所有图标大小。确保我的源图像不包含透明度。插入那些重新创建的图标图像仍然会导致一个空白的应用程序图标李>
- 通过草图,使用不同的流程重新创建所有图标大小,并将这些图标图像插入相同的AppIcon资源,从而使应用图标正常工作
- 创建新的AppIcon资源,并插入草图创建的图像,导致应用程序图标仍在工作
一些用户报告的一个完全独立的原因与CocoaPods集成有关。请参阅关于可能的临时修复和从理论上解决此问题的解决方案的讨论。我之所以说理论上的解决方案,是因为我尝试了这两种解决方案,但它们都没有解决我遇到的项目中的问题。你并不孤单 在我的项目中,我发现以前正常工作的AppIcon资源不再导致呈现应用程序图标。一系列的实验发现:
- 从AppIcon工作的另一个项目中复制的AppIcon资源导致AppIcon在此项目中工作,这表明特定的原始AppIcon资源有问题,无法工作
- 将图像文件从非工作的AppIcon资源复制到工作的AppIcon资源会导致工作的AppIcon资源现在也失败
- 创建一个新的AppIcon资源,并插入原始的应用图标图像,同样会导致一个空白的应用图标李>
- 使用我常用的预处理应用程序Prep重新导出所有图标大小。确保我的源图像不包含透明度。插入那些重新创建的图标图像仍然会导致一个空白的应用程序图标李>
- 通过草图,使用不同的流程重新创建所有图标大小,并将这些图标图像插入相同的AppIcon资源,从而使应用图标正常工作
- 创建新的AppIcon资源,并插入草图创建的图像,导致应用程序图标仍在工作
一些用户报告的一个完全独立的原因与CocoaPods集成有关。请参阅关于可能的临时修复和从理论上解决此问题的解决方案的讨论。我说理论上的地址是因为我已经尝试实现了这两种解决方案,但它们都没有解决我遇到的项目中的问题。我的应用程序图标也有同样的问题。它们显示在某些设备上,但不显示在其他设备上。我进一步研究了这个问题,发现并不是我所有的图标都被压平了,而且都有不正确的颜色空间(Adobe RGB)。我将所有图标展平并转换为SRGB颜色空间,然后替换现有图标。所有图标现在都显示得很完美 我的应用程序图标也有同样的问题。它们显示在某些设备上,但不显示在其他设备上。我进一步研究了这个问题,发现并不是我所有的图标都被压平了,而且都有不正确的颜色空间(Adobe RGB)。我将所有图标展平并转换为SRGB颜色空间,然后替换现有图标。所有图标现在都显示得很完美 为清晰起见,请确保颜色配置文件设置为:sRGB IEC61966-2.1。在我偶然发现这个问题之前,我的图标没有颜色配置文件 我肯定其他颜色配置文件必须工作,但我还没有做测试,以确保 这可以通过以下方式在预览中完成:
#!/bin/bash
# navigate to latest archive created
cd ~/Library/Developer/Xcode/Archives
foo=$(ls -t | head -n1) && cd $foo
line=$(ls -t | head -n1) && cd "$line"
# bug fix
find Products/ -name Info.plist -print0 | xargs -0n1 plutil -replace BuildMachineOSBuild -string 16A323
sh("./archive_fix.sh")
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
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
<key>CFBundleIconFile</key>
<string>AppIcon</string>
<key>CFBundleIconFile</key>
<string>AppIcon.icns</string>
post_install do |installer|
copy_pods_resources_path = "Pods/Target Support Files/Pods-XXX/Pods-XXX-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
post_install do |installer|
installer.aggregate_targets.each do |target|
copy_pods_resources_path = "Pods/Target Support Files/Pods-Fixr/Pods-Fixr-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