Flutter:Runner.app/Info.plist 不存在。 Flutter“精简二进制”构建阶段必须在“复制捆绑资源”之后运行

Posted

技术标签:

【中文标题】Flutter:Runner.app/Info.plist 不存在。 Flutter“精简二进制”构建阶段必须在“复制捆绑资源”之后运行【英文标题】:Flutter: Runner.app/Info.plist does not exist. The Flutter "Thin Binary" build phase must run after "Copy Bundle Resources" 【发布时间】:2021-04-02 16:51:21 【问题描述】:

将 Flutter 升级到 Flutter 1.22.4 后。我在构建 Xcode 项目时遇到以下错误。

Runner.app/Info.plist 不存在。这 Flutter“Thin Binary”构建阶段必须在“Copy Bundle”之后运行 资源”。

已经尝试了以下选项:

Flutter clean and run。 已删除派生数据、清理项目并重新构建。 rm -Rf ios/Pods rm ios/Podfile rm -Rf ios/.symlinks rm -Rf ios/Flutter/Flutter.podspec rm -Rf ios/Flutter/Flutter.framework 颤动运行

在尝试了以上所有选项后仍然得到相同的错误。

颤振医生:

[✓] Flutter (Channel stable, 1.22.4, on macOS 11.0.1 20B50 darwin-x64, locale en-US)
    • Flutter version 1.22.4 at /Users/dhavalkansara/flutter 1.22.4
    • Framework revision 1aafb3a8b9 (6 weeks ago), 2020-11-13 09:59:28 -0800
    • Engine revision 2c956a31c0
    • Dart version 2.10.4

[✓] android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/dhavalkansara/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.2, Build version 12B45b
    • CocoaPods version 1.9.1

[!] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] IntelliJ IDEA Community Edition (version 2020.2.4)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin installed
    • Dart plugin version 202.8070

[✓] Connected device (1 available)
    • iPhone 12 Pro Max (mobile) • 9D65DC5D-5DE8-485A-886F-FF26C0466391 • ios • com.apple.CoreSimulator.SimRuntime.iOS-14-2 (simulator)

! Doctor found issues in 1 category.
项目文件结构:

构建设置中的 Info.plist 位置:

还在 Flutter Github 上提出了 issue 的相同问题。

【问题讨论】:

【参考方案1】:

解决方案


转到Runner(target app) > Build Phases > Run Script 并使用以下脚本更新运行脚本。

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

此外,请验证 Runner(target app) > Build Phases > Thin Binary 是否包含 Flutter 团队在 XCode 11.4 Support 中建议的以下脚本。

/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" embed
/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" thin

【讨论】:

这在我创建新的颤振项目时帮助了我 仅供参考:我尝试使用 Xcode 12.4 并且仅在清理项目后,它才成功构建。注意:在 Runner(目标应用程序)> Build Phases > Thin Binary ->>“仅包含'thin' present”的单行,即“包含'embed'的行”不是必需的/存在。【参考方案2】:

我接受了@Dhaval Kansara 的建议,但错误仍然存​​在。但是在干净构建之后,问题就消失了。

【讨论】:

这只是在创建一个新的 Flutter 项目后发生在我身上。我首先去了 Xcode 以验证脚本是否正确(在其他答案中提到)。该脚本在 Xcode 中是正确的,所以一个干净的构建对我来说很有效。 我遇到了同样的问题。最好的解决方案是在项目文件夹中简单地 flutter clean【参考方案3】:

在 Xcode 菜单中,选择“产品”>“清理构建文件夹”。

再次运行项目,问题解决了。

【讨论】:

【参考方案4】:

项目文件夹中的flutter clean为我解决了这个问题

【讨论】:

【参考方案5】:

打开终端窗口后,有 2 个步骤可以解决此问题:

-您必须导航到您已经使用 Flutter 构建的项目文件夹 -然后你会运行如下:

    $ 颤抖干净

    $flutter pub 获取

然后您再次使用 IOS 模拟器进行构建。问题将得到解决。

原因: 您的 app 文件夹中的 Xcode 版本(旧版本)之间存在冲突。你应该先清理旧的,然后用新的重建它。

【讨论】:

以上是关于Flutter:Runner.app/Info.plist 不存在。 Flutter“精简二进制”构建阶段必须在“复制捆绑资源”之后运行的主要内容,如果未能解决你的问题,请参考以下文章

[Flutter] flutter项目一直卡在 Running Gradle task 'assembleDebug'...

flutter 日志输出,Flutter打印日志,flutter log,flutter 真机日志

Flutter开发 Flutter 包和插件 ( Flutter 包和插件简介 | 创建 Flutter 插件 | 创建 Dart 包 )

flutter与原生混编(iOS)

Flutter-布局

如何解决flutter gradle build error?C:\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 991