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 gradle build error?C:\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 991