Xcode 9.3打包报错:actool执行失败(退出码255)求助
解决Xcode 9.3归档时
Command actool failed with exit code 255的问题 我之前也踩过Xcode 9.3这个actool归档报错的坑,结合你排查的几个现象——xcassets编译报错、删除所有图片后归档成功、新项目加图仍报错,大概率是Xcode对asset catalog的处理逻辑存在兼容性问题。给你几个亲测有效的解决思路:
彻底清理Xcode缓存与Derived Data
旧缓存很容易和新版本Xcode的资源处理逻辑冲突,先完全退出Xcode,打开终端执行以下命令清理:rm -rf ~/Library/Caches/com.apple.dt.Xcode rm -rf ~/Library/Developer/Xcode/DerivedData重启Xcode后再尝试归档,很多时候这一步就能解决问题。
检查xcassets内资源的命名与格式
Xcode 9.3对资源文件的要求比之前更严格:- 确保图片文件名没有中文、空格或特殊符号(比如
!@#$),尽量用英文+数字+下划线的组合; - 验证图片格式是否正常,比如PNG/JPG有没有损坏,避免使用WebP这类Xcode不原生支持的格式(可以用系统预览打开图片确认能否正常显示)。
- 确保图片文件名没有中文、空格或特殊符号(比如
调整asset catalog的编译参数
打开项目的Build Settings,搜索Additional Asset Catalog Compiler Options,根据你的资源类型添加参数:- 如果使用了矢量图,添加
--enable-vector-assets; - 如果没有使用矢量图,添加
--disable-vector-assets;
另外可以尝试把Compress PNG Files设置为NO,有时候Xcode 9.3的PNG压缩逻辑会触发actool报错。
- 如果使用了矢量图,添加
切换Xcode版本
如果上面的方法都无效,Xcode 9.3本身确实存在一些asset处理的已知bug,你可以尝试:- 降级到Xcode 9.2(相对稳定的版本);
- 升级到Xcode 9.4.1(修复了9.3的不少资源编译问题);
操作前记得备份好项目文件哦。
内容的提问来源于stack exchange,提问作者nhuanvd
相关产品推荐
相关产品推荐

