Flutter 应用程序在 iOS 模拟器上因叶轮渲染后端错误而崩溃

A_K*_*A_K 7 ios dart android-studio flutter flutter-dependencies

在 iOS 模拟器上运行 Flutter 应用程序时,我遇到了持续崩溃的情况。正如我收到的错误消息所示,该问题似乎与叶轮渲染后端有关。我正在寻求有关如何解决此问题的指导。

错误信息:

[ERROR:flutter/shell/platform/darwin/graphics/FlutterDarwinContextMetalImpeller.mm(42)] Using the Impeller rendering backend.
Run Code Online (Sandbox Code Playgroud)

环境:

  • Flutter 版本:3.16.0(频道稳定)
  • 飞镖版本:3.2.0
  • Xcode 版本:15.0.1
  • macOS 版本:14.1.1
  • iOS模拟器:iPhone 15 Pro Max(iOS 17.0)
  • 使用的依赖项:
    • 库比蒂诺图标:^1.0.2
    • google_mobile_ads:^3.1.0
    • flutter_launcher_icons:^0.13.1

问题描述: 应用程序在启动后不久就崩溃了,并且没有明确指出根本原因。iOS 模拟器生成的崩溃报告不包含直接指向问题的特定错误消息或堆栈跟踪。

采取的步骤:

从头开始创建的项目启动页面出现相同的错误,当我包含真实的项目时它崩溃了

该项目在带有 Android 模拟器的 Window 上运行完美,但在 Mac 上显示此错误

我的问题: Impeller 渲染后端崩溃:什么可能导致 Flutter 应用程序与 Impeller 渲染后端相关的崩溃?Flutter环境中是否存在可能导致此问题的特定设置或配置?

版本兼容性:Flutter 版本 3.16.0 或我正在使用的依赖项(例如 google_mobile_ads:^3.1.0、flutter_launcher_icons:^0.13.1)是否存在任何可能导致此崩溃的已知兼容性问题?

诊断崩溃:如何进一步诊断崩溃的根本原因?是否有特定的日志或调试步骤可以提供对问题的更多见解?

如果需要更多信息,请告诉我以帮助解决此问题。对此问题的任何帮助或见解将不胜感激。

谢谢你!

小智 5

Flutter 在 iOS 上默认启用 Impeller。

\n

要在调试时在 iOS 上禁用 Impeller,请传递--no-enable-impeller到 flutter run 命令。

\n
flutter run --no-enable-impeller\n
Run Code Online (Sandbox Code Playgroud)\n

要在部署应用程序时在 iOS 上禁用 Impeller,请在 app\xe2\x80\x99s 文件的顶级标签下添加以下标签Info.plist

\n
<key>FLTEnableImpeller</key>\n<false />\n
Run Code Online (Sandbox Code Playgroud)\n

找到类似问题类似问题链接

\n


She*_*h02 4

“叶轮渲染后端错误”是 Flutter 中的一个常见问题,尤其是在使用 iOS 模拟器时。

  1. 清理和重建:
    flutter clean
    
    flutter pub get
    
    flutter run
Run Code Online (Sandbox Code Playgroud)
  1. 更新 Flutter 和 Dart:
    flutter upgrade

    flutter pub upgrade
Run Code Online (Sandbox Code Playgroud)
  1. 更新 Xcode:确保 Xcode 是最新的。Flutter 依赖 Xcode 来构建和运行 iOS 应用程序。在 Mac 上打开 App Store,转到“更新”选项卡,然后检查 Xcode 更新。

  2. 更新 CocoaPods:

    sudo gem install cocoapods

    pod repo update
Run Code Online (Sandbox Code Playgroud)
  1. iOS 模拟器问题:尝试在不同的 iOS 模拟器设备上运行您的应用程序。有时,特定的模拟器配置可能会导致问题。

这就是我能建议的,希望这能解决您的错误