升级Xcode14后Flutter应用构建失败:Command PhaseScriptExecution非零退出码
解决Xcode 14.0升级后Flutter应用构建失败(Could not build the precompiled application for the device)的问题
以下是针对该问题的分步解决方案:
升级/降级Flutter到兼容版本
Xcode 14.0对Flutter版本有兼容性要求,建议使用Flutter 3.3.0及以上的稳定版本。执行命令升级:flutter upgrade若稳定版仍有问题,可尝试降级到已知兼容的版本(如3.3.10):
flutter downgrade 3.3.10修复Pod脚本构建阶段的问题
打开iOS项目的Runner.xcworkspace,进入Build Phases标签:- 找到
[CP] Embed Pods Frameworks脚本,将其中的source="$(readlink "${source}")"替换为source="$(readlink -f "${source}")"——Xcode 14对符号链接的处理逻辑有变化,原脚本会导致路径解析错误。 - 若
[CP] Copy Pods Resources脚本存在警告,可先删除该脚本,然后在终端执行pod install重新生成。
- 找到
调整Xcode构建设置
进入Runner target的Build Settings:- 将
Build Options下的Enable Bitcode设置为No——Flutter项目默认不需要Bitcode,Xcode 14对Bitcode的校验更严格。 - 确认
Architectures为Standard Architectures (arm64, x86_64),仅在Debug配置的Excluded Architectures中添加arm64(针对模拟器,真机无需排除)。 - 检查
Other Linker Flags,移除过时或错误的参数,确保-ObjC参数存在(部分Pod依赖需要该参数)。
- 将
彻底清理缓存并重新构建
执行以下命令清理所有相关缓存:cd ios pod deintegrate pod clean rm Podfile.lock pod install cd .. flutter clean flutter pub get完成后重新执行
flutter run。确认Xcode命令行工具版本
执行xcode-select --version检查命令行工具是否与Xcode 14.0匹配,若不匹配,执行以下命令切换:xcode-select --switch /Applications/Xcode.app验证签名配置
在Xcode的Signing & Capabilities标签下,确认Team选择正确,Provisioning Profile处于有效状态——Xcode 14对签名配置的检查更严格,无效的签名会导致构建失败。
内容的提问来源于stack exchange,提问作者user16525780
相关产品推荐
相关产品推荐

