Command PhaseScriptExecution failed with a nonzero exit code

这个错误表明在 Xcode 的构建过程中,某个脚本执行阶段(Phase Script Execution)失败了,通常与自定义构建脚本或缺少权限相关。以下是一些排查和解决方法:

1. 查看错误日志

  • 错误消息中通常会包含更多详细的日志信息,可以帮助确定问题出在哪里。
  • 在 Xcode 中选择 Report Navigator(左侧导航栏的最后一个图标)以查看更详细的构建日志。
  • 查找失败的 Phase Script,查看输出的详细信息,寻找可能的错误原因。

2. 检查构建脚本

  • 打开项目的 Build Phases 设置,找到执行失败的脚本(Phase Script)。
  • 确保脚本中引用的文件路径、环境变量和命令都是有效的。
  • 尝试在终端中独立运行脚本,看看是否有任何错误输出。

3. 检查文件权限

  • 某些构建脚本可能需要访问特定文件或文件夹。确保项目文件夹内所有文件和脚本具有足够的权限。
  • 在终端中运行以下命令,为项目文件夹中的脚本赋予执行权限:
    bash chmod +x path/to/your/script.sh
  • 如果你使用的是第三方工具(如 CocoaPods 或其他依赖管理工具),确保它们生成的文件也具有相应权限。

4. 清理构建文件夹

  • 选择 Product > Clean Build Folder 来清理构建文件夹。
  • 然后再次尝试构建项目,有时可以解决由于缓存或旧文件导致的问题。

5. 检查 Shell 和依赖环境

  • 确保项目中的脚本能在你当前的 shell 环境中运行。可以尝试在脚本开头指定 shell,比如:
    bash #!/bin/bash
  • 如果脚本依赖某些工具(如 nodepython 等),确保这些工具在系统路径中可用,并且版本兼容。

6. 检查 Xcode 和 macOS 更新

  • 有时,这类错误与 Xcode 或 macOS 的兼容性问题有关。确保你使用的是最新稳定版本的 Xcode,并且系统也已更新。

以上步骤可以帮助定位和修复该错误,如果仍然有问题,可以提供详细的构建日志帮助进一步分析。

还没解决如果你正在开发 FLUTTER 应用程序,请尝试以下命令

 flutter clean
 flutter pub get
 cd ios
 pod install
 flutter build ios

一旦 ios 构建成功完成,就可以继续在 Xcode 中执行发布步骤。

还没解决可以参考

https://stackoverflow.com/questions/77141841/xcode-version-15-0-command-phasescriptexecution-failed-with-a-nonzero-exit-cod