You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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自动生成的资源,没有错指向默认文件:

  • 确认iconsplash标签的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.xassetsShow in Finder,检查里面的图标修改时间和内容是不是最新的。
  • 如果发现还是旧文件,直接把resources/ios/iconresources/ios/splash里的新文件手动复制到images.xassets对应的目录里,再重新构建项目。

最后,如果还是不行,可能是Cordova iOS版本和Xcode 9不兼容,试试升级到兼容的版本:

ionic cordova platform update ios@4.5.5

这个版本是经过验证和Xcode 9、Ionic 3适配的,你可以根据自己的项目情况调整。


内容的提问来源于stack exchange,提问作者Gurpreet Singh

火山引擎 最新活动