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 clean
和 flutter 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 - Firebase 云消息传递,iOS 上未收到数据消息