React 原生错误:尚未创建 Firebase 应用'[DEFAULT]' - 调用 firebase.initializeApp()



我已经为android实现了推送通知,它100%正确工作,但当我打开同一个应用程序为IOS测试推送通知时,它失败了,因为它需要一个配置文件。这是我的配置文件代码:

import { firebase } from '@react-native-firebase/messaging';
const reactNativeFirebaseConfig = {
apiKey: "my apiKey",
...
...
measurementId: "my measurementID XYZ"
};
firebase.initializeApp(reactNativeFirebaseConfig);

现在问题是,即使在将其添加到我的项目中后也会出现错误:没有创建Firebase应用程序"[DEFAULT]"-调用Firebase.initializeApp((

注意:我使用的是"@react native firebase/app";以及适用于Android的推送通知的"@react native firebase/messaging"。任何人都知道我的代码端出了什么问题,或者我应该在哪里使用该配置文件,因为我将该文件保存为FirebaseConfig.js.

要在iOS上设置Firebase,您需要执行一些额外的步骤。

打开Firebase,创建一个新的iOS应用程序。

填写捆绑包标识符,并给它一个您选择的昵称。

接下来下载谷歌服务文件并打开xCode。

将Google Services文件拖到文件树yourApp/yourApp中,位于AppDelegate.m文件旁边。

打开AppDelegate.m并添加

#import <Firebase.h>

到顶部。

接下来,在第58行附近应该有一个返回YES。

将此添加到返回之上

[FIRApp configure];

最后,在返回并关闭括号之后,添加此代码。

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
[FIRMessaging messaging].APNSToken = deviceToken;
}

总之,它看起来应该和这个相似。

UIViewController *rootViewController = [UIViewController new];
rootViewController.view = rootView;
self.window.rootViewController = rootViewController;
[self.window makeKeyAndVisible];
[FIRApp configure];
return YES;
}
- (void)application:(UIApplication *)application 
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
[FIRMessaging messaging].APNSToken = deviceToken;
}

完成后,你应该做好准备,将你的第一条消息发送到你的应用程序。

请记住,Firebase发送消息的速度不是很快,可能需要几分钟才能完成。

附带说明您不能将通知发送到iOS模拟器,只能发送到真实设备。您还需要在Apple开发者帐户和xCode中为应用程序添加通知权限。

如果你需要帮助设置,请告诉我,我们可以使用Skype。

您需要在以下文件的方法didFinishLuachWithOptions ios/{AppName}/AppDelegate.m 中添加一个检查

if ([FIRApp defaultApp] == nil) {
[FIRApp configure]; 
}

相关内容

  • 没有找到相关文章

最新更新