Ionic iOS Cordova应用切换时仍显示旧图标,新图标未在应用切换器生效
问题原因
iOS系统会缓存应用图标资源,同时Cordova构建流程、Xcode的缓存机制也可能导致旧图标残留,你遇到的切换界面小图标未更新,大概率是缓存未清理或者图标配置没有正确生效导致的。
解决步骤
- 清理设备/模拟器缓存
完全卸载测试设备或模拟器上的旧版本应用,之后重启设备,清除系统层面的图标缓存。 - 清理项目构建残留
删除项目根目录下的platforms/ios文件夹,重新添加对应版本的iOS平台:
ionic cordova platform add ios@6.2.0
- 清理Xcode全局缓存
打开Xcode,先按Command + Shift + K清理当前项目构建产物,再按Command + Option + Shift + K执行深度清理。也可以直接访问路径~/Library/Developer/Xcode/DerivedData,删除对应你项目的缓存文件夹。 - 核对图标配置
确认项目根目录的config.xml中,<platform name="ios">区块内已经正确添加了三个小尺寸图标的配置:
<icon height="29" src="resources/ios/icon/icon-small.png" width="29" /> <icon height="58" src="resources/ios/icon/icon-small@2x.png" width="58" /> <icon height="87" src="resources/ios/icon/icon-small@3x.png" width="87" />
- 核对Xcode内图标资源
用Xcode打开iOS项目,找到Assets.xcassets下的AppIcon目录,手动确认29pt规格对应的1x、2x、3x插槽都已经填充了新图标。如果发现插槽为空,直接把你手动生成的三个图标拖到对应位置即可。 - 重新构建测试
执行命令强制同步资源文件:
cordova-res ios --skip-config --copy
之后重新构建应用安装到设备测试即可。
额外排查项
如果以上操作都无效,可以检查Xcode项目中Info.plist文件,搜索CFBundleIconFiles相关的键值,删除残留的旧图标配置条目即可。
内容的提问来源于stack exchange,提问作者miloth
相关产品推荐
相关产品推荐

