Flutter应用无法在iOS 15目标设备运行 出现Xcode构建失败报错
问题现象
Flutter应用无法在目标为iOS 15的设备上运行,运行时触发报错:
--- xcodebuild: 警告:存在多个匹配的运行目标,已选用首个:
{ platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device }
{ platform:iOS Simulator, id:0505AE8A-6546-485E-882C-362B1398EC66, OS:15.0, name:iPad (9th generation) }
{ platform:iOS Simulator, id:76A3AE58-960B-4865-B995-DA7D0217CC41, OS:15.0, name:iPad Air (4th generation) }
...(其余同类型iOS 15模拟器/设备条目省略)
** 构建失败 **
Xcode输出内容如下:
打包失败 Command PhaseScriptExecution failed with a nonzero exit code 说明:使用新构建系统 说明:正在规划构建流程 说明:构建准备已完成 说明:并行构建各目标
定位与解决方法
定位步骤
- 先消除多运行目标匹配的干扰:执行
flutter devices命令查看所有可用的iOS设备,找到目标iOS 15设备对应的ID,运行时指定设备执行flutter run -d 设备ID;也可以直接打开项目ios目录下的Runner.xcworkspace文件,在Xcode顶部工具栏明确选择要运行的iOS 15模拟器/真机,排除目标不匹配的干扰。 - 查看
PhaseScriptExecution的详细报错:打开Xcode的报告导航栏(左侧边栏云朵形状图标),找到最近失败的构建记录,展开PhaseScriptExecution相关条目,查看完整错误输出,确定是哪一步脚本执行失败,通常问题集中在Flutter构建脚本、CocoaPods依赖、架构兼容、签名配置这几个方向。
常见解决方案
- 清理缓存并重建依赖:
依次执行以下命令:
清理完成后重新运行项目,多数依赖缓存导致的脚本执行错误会被修复。flutter clean rm -rf ios/Pods ios/Podfile.lock cd ios && pod install --repo-update cd .. - 调整构建设备兼容配置:
打开Xcode的Runner项目设置,进入Build Settings页:- 搜索
Architectures,确认配置为$(ARCHS_STANDARD),Excluded Architectures没有错误排除arm64等iOS 15支持的架构。 - 搜索
iOS Deployment Target,确认配置为15.0或更低版本,和运行目标的系统版本匹配。
- 搜索
- 检查签名配置:
如果是运行到真机,打开Signing & Capabilities页,确认已经配置了正确的开发团队,Bundle ID没有冲突,项目所需的权限都已正确声明。 - 排查第三方插件兼容性:
如果是新增插件后出现的问题,确认所有插件都已更新到支持iOS 15的版本,部分旧版本插件未适配iOS 15会导致构建失败,可以逐一临时注释问题插件排查,找到不兼容的插件后升级到对应适配版本即可。
内容的提问来源于stack exchange,提问作者Waqar Younus
相关产品推荐
相关产品推荐

