【问题标题】:M1 MacBook Pro Flutter App : Command PhaseScriptExecution failed with a nonzero exit codeM1 MacBook Pro Flutter App:命令 PhaseScriptExecution 失败,退出代码为非零
【发布时间】:2021-04-08 07:28:44
【问题描述】:
Command PhaseScriptExecution failed with a nonzero exit code
从 VS Code 运行 Flutter 项目时,它运行良好。尝试从 Xcode 运行它时出现此错误。
here提到的所有事情我都做了
因为这是一个 Flutter 项目,所以脚本是:
/Users/aby/Development/flutter/packages/flutter_tools/bin/xcode_backend.sh
【问题讨论】:
标签:
flutter
arm64
apple-m1
【解决方案1】:
我遇到了同样的问题,我注意到通过 vscode 运行时,我没有遇到任何问题。然后我尝试在 Xcode 中但在 Rosetta 模式下运行该应用程序(模拟器运行为 x86,就像通过 vscode 运行一样)。这似乎奏效了。
为此,我将其添加到我的 Podfile 中(以使 pod 在 x86 模式下编译)
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
end
# This is to remove arm64 from the available archs:
installer.pods_project.build_configurations.each do |config|
config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
end
end
您也必须在项目的 EXCLUDED_ARCHS 上手动执行此操作。在那之后,一切顺利。我认为 Flutter 仍然没有在原生 M1 Mac 上运行。