![](/img/trans.png)
[英]No Firebase App has been created - call Firebase.initializeApp()
[英]React Native Error: No Firebase App '[DEFAULT]' has been created - call firebase.initializeApp()
我已經為 android 實現了推送通知,它 100% 正確地工作,但是當我打開同一個應用程序來測試 IOS 的推送通知時,它失敗了,因為它需要一個配置文件,這是我的配置文件代碼:
import { firebase } from '@react-native-firebase/messaging';
const reactNativeFirebaseConfig = {
apiKey: "my apiKey",
...
...
measurementId: "my measurementID XYZ"
};
firebase.initializeApp(reactNativeFirebaseConfig);
現在問題是即使在將它添加到我的項目后也會出現錯誤: No Firebase App '[DEFAULT]' has been created - call firebase.initializeApp()
注意:我正在使用“@react-native-firebase/app”; 和用於推送通知的“@react-native-firebase/messaging”,適用於 Android。任何人都知道我的代碼端出了什么問題,或者我應該在哪里使用該配置文件,因為我將該文件保存為 FirebaseConfig.js。
要在 iOS 上設置 Firebase,您需要做一些額外的步驟。
打開 Firebase,新建一個 iOS 應用。
填寫捆綁標識符並為其指定一個您選擇的昵稱。
接下來下載 google services 文件並打開 xCode。
將 Google 服務文件拖到文件樹 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。
您需要在以下文件的方法 didFinishLuanchWithOptions ios/{AppName}/AppDelegate.m 中添加一個檢查
if ([FIRApp defaultApp] == nil) {
[FIRApp configure];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.