我刚接触flutter,我收到了一个“工作的安卓”项目,我应该适应iOS,至少我需要它来启动等等。
在这里和那里读了一些,然后通过一些额外的谷歌搜索,我带来了一个版本的flutter应用程序,Xcode 13可以在模拟器上编译并启动,没有任何问题,但是一旦它运行,某种类型的初始化过程就会失败,并出现以下错误:
MissingPluginException(No implementation found for method Firebase#initializeCore on channel plugins.flutter.io/firebase_core)
我读了这条信息的文字,我明白他们说的是什么,但我不明白他们的意思。
我已经做了一次flutter clean
a 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安装/更新后,我还在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升级‘来提升我的库版本。以上列表的版本是我正在使用的最后一个版本。
编辑:在这里我还添加了一些来自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,应用程序构建,但它不会超出屏幕上一些丑陋的横幅,声称“有些事情发生了”(原文如此)
这个错误出现在其他人的堆栈溢出问题中,但对于安卓系统,我使用的是iOS。我的同事(使用android)在启动和运行flutter应用程序时没有明显的问题。
我到处阅读文档,但没有任何相关的修复方法...
有没有我可能忽略的其他细节?
编辑:我已经尝试了许多不同的清理方法(比如运行"flutter“和其他一些类似的"ios”子项目命令),但都没有效果。我还尝试了一些"flutter pub升级“(而不是”get“),以防出现一些新版本的库(其中一些确实出现了,但再次无效)。
发布于 2021-11-12 10:36:39
在pubspec.yaml中添加firebase_core :any
,删除PodFile.lock
,运行flutter clean,然后flutter pub get。然后导航到终端中的ios文件夹。运行pod install。现在您应该能够成功地运行它了。
https://stackoverflow.com/questions/69940983
复制相似问题