Flutter IOS Run 报错 Command PhaseScriptExecution failed with a nonzero exit code

110 阅读1分钟
  1. cmd+shift+k, 清除build缓存

  2. Xcode Settings->Locations->Derived Data, 打开Derived Data文件夹

  3. 关闭Xcode,必须关闭,不然先删除DerivedData的话又会自动生成一些文件

  4. 删除DerivedData文件夹下所有文件

  5. 执行以下命令删除缓存

rm -rf ~/Library/Caches/com.apple.dt.Xcode

rm -rf ~/Library/Caches/org.swift.swiftpm

  1. 清除和重新安装flutter和iOS pod依赖(可能需要科学上网)

cd到项目根目录

flutter clean

flutter pub get

cd到项目根目录的ios文件夹下

pod install --repo-update

  1. 重新打开Xcode,打开项目,等待indexing | Processing files初始化完成

  2. 点击Run,等待Building,可能需要几分钟时间

下面是一个脚本文件,可以放在flutter工程目录下一键执行,其中的代理换成自己的代理地址或者使用镜像源的可以去掉

#!/bin/bash

# 打印开始信息
echo "开始清理和构建过程..."

# 1. 清理 Xcode 和 SwiftPM 缓存
echo "正在清理 Xcode 和 SwiftPM 缓存..."
rm -rf ~/Library/Caches/com.apple.dt.Xcode
rm -rf ~/Library/Caches/org.swift.swiftpm
echo "缓存清理完毕。"

# 2. 设置代理
echo "正在设置代理..."
export http_proxy=http://127.0.0.1:1087
export https_proxy=http://127.0.0.1:1087
export ALL_PROXY=socks5://127.0.0.1:1087
echo "代理设置完毕。"

# 3. 运行 flutter clean 和 flutter pub get
echo "正在运行 flutter clean..."
flutter clean
echo "flutter clean 完成。"

echo "正在运行 flutter pub get..."
flutter pub get
echo "flutter pub get 完成。"

# 4. 进入 ios 目录
echo "正在进入 ios 目录..."
cd ios

# 5. 运行 pod install
echo "正在运行 pod install --repo-update..."
pod install --repo-update
echo "pod install 完成。"

echo "所有步骤已成功完成!"