前言
最近在做项目的时候发现运行在真机上图标丢失,变成了苹果默认的白板图标。因为一开始没太注意,而且也确认没有人动过图标文件,后来慢慢的该问题出现在真机上,一开始是只有iPhone X,然后就是iPhone 8,慢慢的变成不管是模拟器还是真机,所有iOS15 系统的图标都没有了。接下来影响到的机型和系统越来越多。
尝试过的一些方法
1、一开始想到的是可能有人误改了图标文件,于是删除了images.xcassest中的AppIcon文件,从新生成→添加图标,但是依然未解决。(失败)
2、想到是图片格式/尺寸的问题,于是所有图片按照规定重新生成,但是仍然无济于事。(失败)
3、因为设置图标的方法除了在images.xcassest中的AppIcon文件中设置还可以在info.plist设置、或者直接在工程里面放一个icon.png的图片来设置,所以都检查了一遍发现也不是这个原因(失败)
4、重置手机。(失败)
解决方案
方案一、在你的podfile中加入以下代码就可以了
post_install do |installer|
copy_pods_resources_path = "Pods/Target Support Files/Pods-工程名/Pods-工程名-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
像这样:image.png