Я переношу приложение swift на FB 5.18 на RN firebase и больше не работает над миграцией.Если я удаляю и перезагружаю версию RN, все работает.Я попытался проверить токен вот так и получаю оба, но он все равно не работает.Разрешения включены, requestPermission - это всего лишь предосторожность.Я также опрашиваю это до 50 раз в течение пары минут, пока одно не будет успешным.Все на Android работает нормально.Я тестирую с помощью инструмента тестовых сообщений FCM с токеном FCM.
Firebase.messaging().requestPermission()
await (Firebase.messaging() as any).ios.registerForRemoteNotifications()
const APNSToken = await (Firebase.messaging() as any).ios.getAPNSToken()
const token = Firebase.messaging().getToken()
if (APNSToken && token) sendToServer(token)
Файлы проекта
iOS
ios/Podfile
:
- [x] Я использую Pods, и мой Podfile выглядит следующим образом:
pod 'Firebase/Core', '~> 5.18.0'
pod 'Firebase/Database', '~> 5.18.0'
pod 'Firebase/Messaging', '~> 5.18.0'
AppDelegate.m
:
#import <Firebase.h>
#import "RNFirebaseNotifications.h"
#import "RNFirebaseMessaging.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[FIRApp configure];
[RNFirebaseNotifications configure];
...
}
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
[[RNFirebaseNotifications instance] didReceiveLocalNotification:notification];
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(nonnull NSDictionary *)userInfo
fetchCompletionHandler:(nonnull void (^)(UIBackgroundFetchResult))completionHandler{
[[RNFirebaseNotifications instance] didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler];
}
- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings {
[[RNFirebaseMessaging instance] didRegisterUserNotificationSettings:notificationSettings];
}
Environment