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

Flutter打包IPA时出现Command PhaseScriptExecution非零退出码求助

Flutter打包IPA失败,模拟器构建正常,常见方案无效

环境信息

  • Flutter:稳定版 3.0.5,运行环境 macOS 12.5.1 (Darwin.arm)
  • Xcode:13.2.1

问题现象

  • Xcode模拟器上构建运行无任何问题
  • 打包IPA或执行flutter build ios时失败,核心错误:

    Command PhaseScriptExecution failed with a nonzero exit code

完整错误日志

Flutter build iOS 错误输出

Failed to build iOS app
Error output from Xcode build:
↳
objc[12481]: Class AMSupportURLConnectionDelegate 在 /usr/lib/libamsupport.dylib (0x1f234b808) 和 /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x107fe02c8) 中均有实现。将使用其中一个,具体使用哪一个未定义。
objc[12481]: Class AMSupportURLSession 在 /usr/lib/libamsupport.dylib (0x1f234b858) 和 /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x107fe0318) 中均有实现。将使用其中一个,具体使用哪一个未定义。
objc[12481]: Class AppleTypeCRetimerRestoreInfoHelper 在 /usr/lib/libauthinstall.dylib (0x1f234b620) 和 /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x107fe0598) 中均有实现。将使用其中一个,具体使用哪一个未定义。
objc[12481]: Class AppleTypeCRetimerFirmwareAggregateRequestCreator 在 /usr/lib/libauthinstall.dylib (0x1f234b670) 和 /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x107fe05e8) 中均有实现。将使用其中一个,具体使用哪一个未定义。
objc[12481]: Class AppleTypeCRetimerFirmwareRequestCreator 在 /usr/lib/libauthinstall.dylib (0x1f234b6c0) 和 /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x107fe0638) 中均有实现。将使用其中一个,具体使用哪一个未定义。
objc[12481]: Class ATCRTRestoreInfoFTABFile 在 /usr/lib/libauthinstall.dylib (0x1f234b710) 和 /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x107fe0688) 中均有实现。将使用其中一个,具体使用哪一个未定义。
objc[12481]: Class AppleTypeCRetimerFirmwareCopier 在 /usr/lib/libauthinstall.dylib (0x1f234b760) 和 /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x107fe06d8) 中均有实现。将使用其中一个,具体使用哪一个未定义。
objc[12481]: Class ATCRTRestoreInfoFTABSubfile 在 /usr/lib/libauthinstall.dylib (0x1f234b7b0) 和 /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x107fe0728) 中均有实现。将使用其中一个,具体使用哪一个未定义。
** BUILD FAILED **

--verbose 输出

Encountered error while building for device.
#0 throwToolExit
(package:flutter_tools/src/base/common.dart:10:3)
#1 _BuildIOSSubCommand.runCommand (package:flutter_tools/src/commands/build_ios.dart:374:7)
#2 FlutterCommand.run. (package:flutter_tools/src/runner/flutter_command.dart:1183:27)
#3 AppContext.run. (package:flutter_tools/src/base/context.dart:150:19)
#4 CommandRunner.runCommand (package:args/command_runner.dart:209:13)
#5 FlutterCommandRunner.runCommand. (package:flutter_tools/src/runner/flutter_command_runner.dart:281:9)
#6 AppContext.run. (package:flutter_tools/src/base/context.dart:150:19)
#7 FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)
#8 run.. (package:flutter_tools/runner.dart:62:9)
#9 AppContext.run. (package:flutter_tools/src/base/context.dart:150:19)
#10 main (package:flutter_tools/executable.dart:94:3)

已尝试的解决方案

  • 降级Xcode至13.2.1
  • 重装Cocoapods
  • 执行flutter clean
  • 仅构建安装

可行解决方案建议

1. 修复构建脚本权限

进入项目ios目录,执行命令:

chmod +x ios/Flutter/flutter_export_environment.sh

脚本权限不足是触发PhaseScriptExecution错误的高频原因。

2. 重置iOS项目依赖配置

  1. 删除ios目录下的Podfile、Podfile.lock和Pods文件夹
  2. 执行flutter pub get
  3. 进入ios目录执行pod install --repo-update
  4. 打开Xcode,按Command + Shift + K清理缓存后重新构建

3. 处理重复类定义兼容问题

这个警告是macOS与Xcode版本适配导致的,可通过以下方式缓解:

  • 在Xcode的Build Settings中搜索Other Linker Flags,添加-ObjC
  • 或在Podfile末尾添加以下代码,再执行pod install:
post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    target.build_configurations.each do |config|
      config.build_settings['OTHER_LDFLAGS'] = '-ObjC'
    end
  end
end

4. 升级Flutter版本

当前使用的3.0.5版本较旧,尝试升级到最新稳定版:

flutter channel stable
flutter upgrade

新版本通常修复了iOS构建的兼容性问题。

5. 检查签名配置

  1. 打开Xcode的Signing & Capabilities页面
  2. 确认Team选择正确,证书和描述文件有效
  3. 尝试切换为自动管理签名,或重新下载证书文件

内容的提问来源于stack exchange,提问作者alperenasln

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 11:30:52