Flutter ios:我收到“(在通道 plugins.flutter.io/firebase_core 上找不到方法 Firebase#initializeCore 的实现)”,不明白为啥

Posted

技术标签:

【中文标题】Flutter ios:我收到“(在通道 plugins.flutter.io/firebase_core 上找不到方法 Firebase#initializeCore 的实现)”,不明白为啥【英文标题】:Flutter ios: I'm getting "(No implementation found for method Firebase#initializeCore on channel plugins.flutter.io/firebase_core)", can't see whyFlutter ios:我收到“(在通道 plugins.flutter.io/firebase_core 上找不到方法 Firebase#initializeCore 的实现)”,不明白为什么 【发布时间】:2021-12-24 16:30:21 【问题描述】:

我是 Flutter 的新手,我收到了一个“工作 android”项目,我应该适应 ios,至少我需要它来让它启动等等。

在这里和那里进行一些阅读,然后进行一些额外的谷歌搜索后,我提供了一个 Flutter 应用程序版本,Xcode 13 可以在模拟器上编译和启动,没有任何问题,但是一旦它运行,某种初始化过程就会失败出现此错误:

MissingPluginException(No implementation found for method Firebase#initializeCore on channel plugins.flutter.io/firebase_core)

我读了邮件的文字,我明白他们说什么,但我不明白他们的意思。

我已经完成了 flutter cleanflutter pub get,然后我进入 ios 文件夹进行 pod 安装/更新。通常我会删除 Pods 文件夹以防万一(以拥有更清洁的环境)...

我拥有的 pubspec.yaml 相关行是:

name: xxxxxxxxxxxxxxxxxxxxxxx
description: A new Flutter project.

version: 1.0.0+1

environment:
  sdk: ">=2.12.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter


  cupertino_icons: ^1.0.2
  firebase_core: ^1.7.0
  firebase_crashlytics: "^2.2.3"
  airship_flutter: ^4.0.0
  pull_to_refresh: 2.0.0
  http: ^0.13.4

dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_native_splash: ^0.2.8

flutter_native_splash:
  image: assets/splash.png
  android: true
  ios: true

flutter:
  uses-material-design: true

在完成 pod install/update 之后,我还在我的 Podfile.lock 文件中获得了这些相关信息:

Airship (14.4.2):
Airship/Automation (14.4.2):
Airship/Core (14.4.2)
Airship/ExtendedActions (14.4.2):
Airship/MessageCenter (14.4.2):
airship_flutter (4.4.0):
Firebase/CoreOnly (8.9.0):
Firebase/Crashlytics (8.9.0):
firebase_core (1.10.0):
firebase_crashlytics (2.3.0):
FirebaseCore (8.9.0):
FirebaseCoreDiagnostics (8.9.0):
FirebaseCrashlytics (8.9.0):
FirebaseInstallations (8.9.0):
Flutter (1.0.0)
GoogleDataTransport (9.1.2):
GoogleUtilities/Environment (7.6.0):
GoogleUtilities/Logger (7.6.0):
GoogleUtilities/UserDefaults (7.6.0):
nanopb (2.30908.0):
nanopb/decode (2.30908.0)
nanopb/encode (2.30908.0)
PromisesObjC (2.0.0)
airship_flutter (from `.symlinks/plugins/airship_flutter/ios`)
firebase_core (from `.symlinks/plugins/firebase_core/ios`)
firebase_crashlytics (from `.symlinks/plugins/firebase_crashlytics/ios`)
Flutter (from `Flutter`)

(我得到了执行此命令行的简化版本:cat ios/Podfile.lock | grep " - " | grep "(" | grep -v " "

编辑:我做了一些“flutter pub upgrade”来提高我的库版本。以上列表的版本是我使用的最后一个版本。

编辑:在这里我还添加了一些我的 lib/main.dart 文件的摘录

...
import 'package:firebase_core/firebase_core.dart';

Future<void> main() async 
  // This is for Firebase
  WidgetsFlutterBinding.ensureInitialized();

  HttpOverrides.global = PolarStarHttpOverrides();

  // Launch app after splash
  runApp(MyApp());


class MyApp extends StatelessWidget 

  final Future<FirebaseApp> _fbApp = Firebase.initializeApp();

  @override
  Widget build(BuildContext context) 
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: FutureBuilder(
        future: _fbApp,
...

我不确定还要寻找什么,Xcode 构建正常,最低 SDK 版本设置为 11,应用程序构建,但它并没有超出屏幕上一些丑陋的横幅声称“出现问题”(原文如此)

此错误出现在其他人的 Stack Overflow 问题中,但适用于 Android,而我使用的是 iOS。我的同事(使用 android)在启动和运行 Flutter 应用程序时没有明显问题。

我在这里和那里阅读了文档,但没有任何东西可以让我找到任何相关的修复...

是否还有一些我可能忽略的其他细节?

编辑:我已经尝试了许多不同的清理方法(如运行“flutter clean”和“ios”子项目的一些其他类似命令)无济于事。我还尝试了一些“flutter pub upgrade”(而不是“get”),以防可能出现一些较新版本的库(其中一些确实出现了,但再次无济于事)。

【问题讨论】:

你有google plist文件吗 是的,一些 GoogleService-Info.plist 里面有各种有趣的哈希和 ID...(正确分配给颤振目标) 【参考方案1】:

删除 podfile.lock、.symlinks、Pod 现在“flutter pub get”并使用“pod install”安装 pod 之后再次打开 XCode..

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。【参考方案2】:

在 pubspec.yaml 中添加 firebase_core :any,删除 PodFile.lock 运行 flutter clean 然后 flutter pub get。然后导航到终端中的 ios 文件夹。运行 pod 安装。现在应该可以成功运行了。

【讨论】:

我会说我之前尝试过很多次都没有成功(除了“firebase_core:any”部分)......我会因为这个细节再试一次...... 不出所料,它又失败了...应用程序构建完美,但在运行时它无法通过“缺少插件异常” 你是否也尝试从 xcode 运行这个? 我试过特别在“Xcode + RUN”下运行它,但现在你告诉我我刚刚尝试过“flutter run --no-sound-null-safety”和同样的错误信息出现:[+59 ms] flutter: 你有错误! MissingPluginException(在通道 plugins.flutter.io/firebase_core 上找不到方法 Firebase#initializeCore 的实现) 你也可以发布 main.dart 代码吗? firebase init 部分也足够了

以上是关于Flutter ios:我收到“(在通道 plugins.flutter.io/firebase_core 上找不到方法 Firebase#initializeCore 的实现)”,不明白为啥的主要内容,如果未能解决你的问题,请参考以下文章

未收到 Flutter FCM IOS 静默(仅数据)通知

Firebase 通知 Flutter iOS

Flutter - Firebase 云消息传递,iOS 上未收到数据消息

为啥在 Flutter 中使用 firebase_messaging 插件在 ios 中没有收到通知?

为啥 Flutter iOS 构建失败?

命令 PhaseScriptExecution 失败,退出代码非零 [iOS/Flutter]