当前位置 : 主页 > 手机开发 > ios >

关于iOS 11下app图标变空白问题的解决方法

来源:互联网 收集:自由互联 发布时间:2021-05-10
前言: 随着iOS11首个开发者预览版iOS11 Beta1的发布,关于iOS11系统的WWDC都会上苹果没有提及的新功能被开发者挖掘出。 然而最近在做项目的时候发现运行在模拟器上图标丢失,变成了苹

前言:

随着iOS11首个开发者预览版iOS11 Beta1的发布,关于iOS11系统的WWDC都会上苹果没有提及的新功能被开发者挖掘出。

然而最近在做项目的时候发现运行在模拟器上图标丢失,变成了苹果默认的白板图标。因为一开始只在模拟器上出现,而且也确认没有人动过图标文件,所以没有在意,后来慢慢的该问题出现在真机上,一开始是只有iPhone X,然后就是iPhone 8,慢慢的变成不管是模拟器还是真机,所有iOS11 系统的图标都没有了。

接下来影响到的机型和系统越来越多。

尝试:

      1:一开始想到的是可能有人误改了图标文件,于是删除了images.xcassest中的AppIcon文件,从新生成→添加图标,但是依然未解决。(✘)

      2:想到是图片格式/尺寸的问题,于是所有图片按照规定重新生成,但是仍然无济于事。(✘)

      3:因为设置图标的方法除了在images.xcassest中的AppIcon文件中设置还可以在info.plist设置、或者直接在工程里面放一个icon.png的图片来设
置,所以都检查了一便发现也不是这个原因(✘)

3:重置手机。(✘)

解决:

google了下发现好多国外的开发遇到这个问题,并且都是使用xcode9.X.X版本,所以怀疑是苹果的BUG

不过这个问题并不是谁都会出现也不是所有使用xcode9 + iOS11的设备都会出现

后来经过大家的讨论终于有人说这个其实是cocoapods的BUG,暂时并不能通过更新cocoapods更新来解决,因为最新版的cocoapods

也存在这个问题,解决方法如下:

在你的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

像这样:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对自由互联的支持。

网友评论