You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter iOS真机构建失败:PhaseScriptExecution错误求助

解决Flutter iOS真机构建失败的步骤

1. 修复签名配置问题

  • 打开Xcode,选中项目根目录(Runner),切换到「Signing & Capabilities」标签页
  • 选择你的开发者账号到「Team」栏,未添加账号则先完成账号绑定
  • 将默认的Bundle Identifier替换为自定义唯一标识符(如com.yourcompany.yourappname),避免使用com.example这类通用标识
  • 勾选「Automatically manage signing」,让Xcode自动生成并管理签名文件

2. 统一Pod部署目标版本

  • 打开项目根目录下的ios/Podfile文件
  • 修改顶部的platform :ios, 'x.x',使其与Flutter项目的最低iOS支持版本一致(比如项目支持iOS 12.0,就改为platform :ios, '12.0')
  • 检查Podfile中是否有依赖单独设置了更低的部署版本,如有则统一调整
  • 执行命令:cd ios && arch -x86_64 pod install --repo-update(适配M系列芯片)

3. 处理PhaseScriptExecution错误

  • 打开Xcode,进入Runner的「Build Phases」标签页
  • 找到「Run Script」阶段,排查脚本中是否存在未初始化的变量
  • 针对未初始化变量的警告,在脚本中添加默认值,示例:if [ -z "$SOME_VAR" ]; then SOME_VAR="default_value"; fi
  • 若有自定义脚本文件,执行chmod +x ios/Runner/Scripts/xxx.sh确保脚本拥有执行权限

4. 适配Permission Handler依赖

  • 打开ios/Runner/Info.plist文件,添加Permission Handler所需的权限描述,示例:
    <key>NSCameraUsageDescription</key>
    <string>需要访问相机拍摄照片</string>
    <key>NSPhotoLibraryUsageDescription</key>
    <string>需要访问相册保存图片</string>
    
  • 确认Permission Handler版本与Flutter SDK兼容,若版本不匹配,在pubspec.yaml中指定兼容版本后执行flutter pub get

5. 清理重建项目

  • 执行flutter clean
  • 删除ios目录下的Pods文件夹和Podfile.lock文件
  • 重新执行cd ios && arch -x86_64 pod install
  • 回到项目根目录,执行flutter build ios --release验证构建是否正常

内容的提问来源于stack exchange,提问作者Alper Efe Sahin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 03:10:39