Xcode 9中Ionic 2/3 iOS应用图标及启动页无法更新求助
解决Ionic 2/3 + Xcode 9 iOS应用图标/启动页不更新的问题
我之前也碰到过一模一样的糟心事,尤其是Xcode 9对资源文件的处理有不少“小脾气”,给你整理几个经过实际验证的解决步骤:
1. 先把缓存彻底清干净
旧缓存大概率是罪魁祸首,先把所有可能的缓存都清一遍:
- 执行命令清理Ionic/Cordova的平台和依赖缓存:
ionic cordova platform rm ios ionic cordova platform add ios rm -rf ~/.cordova rm -rf node_modules npm install - 打开Xcode,用快捷键
Shift+Command+K执行Product > Clean Build Folder,再去Xcode > Preferences > Locations找到Derived Data的路径,直接删掉整个文件夹,这是Xcode最顽固的缓存存放地。
2. 检查config.xml的资源配置
确保config.xml里的图标和启动页路径是指向Cordova自动生成的资源,没有错指向默认文件:
- 确认
icon和splash标签的src属性是resources/ios下的文件,比如:<icon src="resources/ios/icon/icon-40@2x.png" width="80" height="80" /> <splash src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" height="1136" /> - 如果你之前手动修改过
images.xassets,建议先恢复默认,不要手动改这个文件夹,让ionic cordova resources自动管理,手动修改很容易和Cordova的自动配置冲突。
3. 强制重新生成资源
有时候普通的ionic cordova resources不会完全覆盖旧文件,加上--force参数强制刷新:
ionic cordova resources ios --force
这个命令会重新生成所有iOS资源,直接覆盖之前的旧文件。
4. 检查Xcode Target的资源配置
打开Xcode选中你的项目Target,做这两项检查:
- 进入
General标签,找到App Icons and Launch Images部分,确认App Icon Source选的是AppIcon(也就是Cordova生成的images.xassets里的那个),不是默认的或者自定义的其他选项。 - 如果之前手动添加过图标,把旧的图标文件从项目里删掉,确保
images.xassets里的所有资源都是最新生成的。
5. 手动验证资源文件
如果以上步骤都没用,直接去查文件本身:
- 右键Xcode里的
images.xassets选Show in Finder,检查里面的图标修改时间和内容是不是最新的。 - 如果发现还是旧文件,直接把
resources/ios/icon和resources/ios/splash里的新文件手动复制到images.xassets对应的目录里,再重新构建项目。
最后,如果还是不行,可能是Cordova iOS版本和Xcode 9不兼容,试试升级到兼容的版本:
ionic cordova platform update ios@4.5.5
这个版本是经过验证和Xcode 9、Ionic 3适配的,你可以根据自己的项目情况调整。
内容的提问来源于stack exchange,提问作者Gurpreet Singh




