【发布时间】: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...(正确分配给颤振目标)
标签: xcode firebase flutter flutter-ios