iPhone应用图标异常问题:iTunes + Cordova + Xcode环境
解决iOS打包图标缺失与路径无效问题
我之前也踩过一模一样的坑——明明Resources/Images.xcassets里的图标配置看起来完全正常,打包时却偏偏报缺少120x120图标、找不到AppIcon29x29路径的错误。给你几个亲测有效的排查和解决步骤:
先确认图标文件的真实性
别光看xcassets里的占位符,右键点击Images.xcassets里的AppIcon组,选择「Show in Finder」,直接去文件夹里验证:- 120x120和29x29的图标文件是不是真的存在?
- 文件后缀是不是标准的
.png?有没有把JPG改后缀冒充PNG的情况? - 用预览打开图标,检查尺寸是不是完全精准,差1像素都可能触发报错。
彻底清理Xcode缓存
Xcode的缓存简直是这类玄学问题的重灾区,按这个流程来:- 直接关掉Xcode
- 打开Finder,前往路径
~/Library/Developer/Xcode/DerivedData,删掉对应项目的整个文件夹 - 回到项目,按下
Command + Shift + K清理项目构建文件 - 重启Xcode,重新尝试打包
检查Info.plist的冲突配置
有时候手动添加的Info.plist配置会和xcassets的自动配置打架:
右键项目里的Info.plist,选择「Open As -> Source Code」,搜索CFBundleIcons和CFBundleIcons~ipad这两个键。如果里面有手动指定的AppIcon29x29这类路径,直接把整个键值对删掉,让Xcode自动读取xcassets里的图标配置。重建AppIcon资源组
如果上面的方法都没用,那就破釜沉舟:- 在
Images.xcassets里删掉现有的AppIcon组 - 右键
Images.xcassets,选择「New App Icon」创建一个新的图标组 - 把所有尺寸的图标重新拖到对应的位置,确保每个占位框都被正确填充(别漏了任何一个)
- 在
确认xcassets已加入Target
最后检查一下Images.xcassets是不是真的被项目Target引用了:- 选中项目,切换到对应的Target标签
- 进入「Build Phases」页面
- 查看「Copy Bundle Resources」列表里有没有
Images.xcassets,没有的话点击「+」把它加进去
内容的提问来源于stack exchange,提问作者Crazy
相关产品推荐
相关产品推荐

