xcode_backend.sh: 没有那个文件或目录。我需要创建这个文件吗?

xcode_backend.sh: no such file or directory. Do I need to create this file?

我的 Flutter 项目无法在 ios 模拟器上 运行 并抛出此错误:

Launching lib/main.dart on iPhone Xʀ in debug mode...

Running Xcode build...

Xcode build done. 7.6s

Failed to build iOS app

Error output from Xcode build:

** BUILD FAILED **

Xcode的输出:

=== BUILD TARGET Runner OF PROJECT Runner WITH CONFIGURATION Debug ===

/bin/sh: /Users/pinercode/AndroidStudioProjects/bmi-calculator-flutter/packages/flutter_tools/bin/xcode_backend.sh: No such file or directory

Could not build the application for the simulator.

Error launching application on iPhone Xʀ.

xcode错误也如下:

/bin/sh: /Users/pinercode/AndroidStudioProjects/bmi-calculator-flutter/packages/flutter_tools/bin/xcode_backend.sh: No such file or directory

我已经尝试过 运行ning flutter doctor 并且没有错误。 我还尝试在构建设置中重新设置我的 xcode 'FLUTTER_ROOT' 和 'FLUTTER_APPLICATION_PATH',但没有用。

基本上发生的事情是项目的 'Build Phases' 之一是 运行 脚本:

/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build

现在为了找到 xcode_backend.sh,需要定义 FLUTTER_ROOT 变量。它在名为 Flutter/Generated.xcconfig 的文件中定义,该文件是在您 运行 flutter pub getflutter build.

时生成的

构建配置文件 Debug.xcconfigRelease.xcconfig(在同一个 Flutter 文件夹中)包括 Generated.xcconfig。 现在唯一剩下的就是确保为每个项目配置正确设置这些构建配置文件(在项目 > 信息 > 配置下的 XCode 中)。

在项目-> 信息配置中将运行程序设置为生成似乎可以解决此问题。我现在可以构建 xcode。

简单的解决方案是调用

颤抖干净

颤动运行

然后 运行 来自 Xcode 的应用程序。

经过大量的折腾,我将这两个设置和构建 运行 设置到我的物理设备上。

  • 转到 Xcode,

  • 点击亚军

  • select 项目(前一个)

  • 转到“信息”选项卡

  • 更改调试配置

  • 顶级亚军(绿色图标)到 Generated

  • 垫底(红圈)Pods-Runner-debug

如果按照上面的建议更改配置没有解决问题

在您的构建阶段脚本中/Xcode 项目变更

$FLUTTER_ROOT/packages/flutter_tools/...

${FLUTTER_ROOT}/packages/flutter_tools/...

升级到新版本的flutter打破了Build后,对我有用吗

打开Xcode
点击亚军(前一)
Select 来自“PROJECT”的 Runner 而不是来自“TARGETS”
Select配置
并更新 ex 的所有模式:In debug select "debug" configuration set

通过设置 FLUTTER_ROOT 作为 Flutter sdk 路径为我解决了这个问题。

我在设置口味时断断续续地遇到这个问题,还没有得到修复它的答案,但最好的解释是在这里 https://github.com/flutter/flutter/issues/49495

使用此设置:

  1. 打开 Xcode - 点击 Runner(前一个)
  2. Select 来自“PROJECT”的 Runner 而不是来自“TARGETS”
  3. Select配置
  4. 并将所有模式更新为这张照片

对我有帮助的是 PROJECT -> Info -> Configurations

设置以下内容:

Debug:
    Runner - None
    fRunner - Debug

Release:
    Runner - None
    fRunner - Release 

Profile:
    Runner - None
    fRunner - Generated

我尝试了所有解决方案,但没有一个有效:(,我认为 flutter 文件夹中缺少一些东西,所以快速简单的解决方案是 ;)

  1. 删除 flutter 文件夹
  2. 直接从 GitHub 下载稳定分支,而不是使用存档(url:https://docs.flutter.dev/get-started/install/macos

git clone https://github.com/flutter/flutter.git -b stable

  1. 通过 运行 验证 flutter/bin 目录是否在您的 PATH 中 回显 $PATH

  2. flutter 升级 扑动配置 enable-ios 扑动配置 enable-android 颤振医生--android-licenses 颤振医生-v

  3. cd path/your_project_name

flutter run ios -t lib/main.dart

对我有用的是:

  1. 正在删除我的项目 ios 文件夹。

(将其保存在别处,因为您可能希望保留 Info.plist 文件和 Podfile。)

  1. 运行 flutter create . 建立一个新的 ios 文件夹。

  2. 用原件替换新的 Info.plist 和 Podfile。

(如果你像我一样在你的应用程序中安装了 firebase,你可能必须在运行器上进入 xcode 和 right-click,将文件添加到运行器,然后添加你的 GoogleService-Info .plist)

  1. flutter clean , flutter run