我一直在使用 MAUI 应用程序,并且必须使用 Firebase 进行分析和 Crashlytics。我使用 plugin.firebase 包来实现它。在 Android 中它工作正常,但在 iOS 中初始化 Firebase 包时应用程序崩溃。下面的代码我用来初始化 firebase。
private static MauiAppBuilder RegisterFirebaseServices(this MauiAppBuilder builder)
{
builder.ConfigureLifecycleEvents(events =>
{
#if IOS
events.AddiOS(iOS => iOS.WillFinishLaunching((app, launchOptions) => {
CrossFirebase.Initialize();
//Firebase.Core.App.Configure();
return false;
}));
#elif ANDROID
events.AddAndroid(android => android.OnCreate((activity, _) =>
{
CrossFirebase.Initialize(activity);
FirebaseAnalyticsImplementation.Initialize(activity);
}));
#endif
});
return builder;
}
我尝试了 iOS 17.2 设备,运行良好。仅在 iOS 17.4 中我遇到了崩溃问题。其他详细信息(如捆绑 ID、GoogleService 文件)均正确。
我也面临着同样的问题。作为解决方法,我使用了可选的 CrossFirebase.Initialize(name, firebaseOptions) 构造函数。请注意,这些值来自 GoogleService-Info.plist 文件。
Firebase.Core.Options options = new Firebase.Core.Options("xxx", "xxx");
options.ApiKey = "xxx";
options.BundleId = "com.xxx.xxx";
options.ProjectId = "xxx";
options.ClientId = "xxx-xxx.apps.googleusercontent.com";
options.StorageBucket = "xxx.appspot.com";
options.DatabaseUrl = "https://xxx.firebaseio.com";
events.AddiOS(iOS => iOS.WillFinishLaunching((_, __) =>
{
CrossFirebase.Initialize("myName", options);
return false;
}));