Xcode 14.3归档时出现Command PhaseScriptExecution非零退出码错误求助
解决Xcode 14.3归档报错Command PhaseScriptExecution failed的方案
结合你提供的归档日志和Podfile信息,试试下面几个针对性的解决方法:
1. 分配置管理Excluded Architectures
不要全局设置Excluded Architectures,分开Debug和Release配置处理:
- 打开项目Target的Build Settings,搜索
Excluded Architectures - Debug配置:添加
arm64(适配M系列芯片模拟器) - Release配置:清空该选项(确保归档时包含所有真机需要的架构)
2. 修正Podfile的post_install脚本
你的脚本里强制统一设置ONLY_ACTIVE_ARCH,且部署目标和项目platform版本不一致,容易引发冲突,改成以下版本:
platform :ios, '13.2' def firebase_pods pod 'FirebaseAnalytics' pod 'FirebaseAuth' pod 'FirebaseFirestore' pod 'FirebaseStorage' pod 'GooglePlaces' pod 'FirebaseMessaging' pod 'MessageKit' pod 'GeoFire/Utils' end target 'My Team' do use_frameworks! firebase_pods end post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| # Debug模式开启仅活跃架构,Release模式关闭 config.build_settings['ONLY_ACTIVE_ARCH'] = config.name == 'Debug' ? 'YES' : 'NO' config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES' # 保持和项目最低部署版本一致 config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.2' end end end
修改完成后执行pod install重新安装依赖。
3. 彻底清理Xcode缓存
- 按
Cmd + Shift + K清理项目构建文件 - 按
Cmd + Option + Shift + K清理Xcode全局缓存 - 删除DerivedData文件夹(路径可在Xcode偏好设置→Locations中找到)
- 重启Xcode后再尝试归档
4. 更新Firebase依赖版本
Xcode 14.3对旧版Firebase组件兼容性较差,执行pod update将Firebase相关依赖更新到最新稳定版,能大概率解决架构相关的脚本执行错误。
5. 检查自定义Run Script
如果项目的Build Phases里有自定义Run Script,确认脚本在Release模式下逻辑正确:
- 检查脚本中的文件路径、环境变量是否适配Release环境
- 若涉及架构判断,确保Release模式下不会触发错误分支
内容的提问来源于stack exchange,提问作者Mr the cat
相关产品推荐
相关产品推荐

