clave - firebase cloud messaging ios
Las notificaciones de Firebase no funcionan en iOS 11 (4)
Estoy desarrollando una aplicación que utiliza las notificaciones push de Firebase. Funcionó bien hasta que lo probé en iOS 11. Usando un iPhone con iOS 11, las notificaciones no llegan. Aquí está mi código:
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)
(UIBackgroundFetchResult))completionHandler {
//Manage notification
}
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
willPresentNotification:(UNNotification *)notification
withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler{
//Manage notification
}
Ninguno de los métodos se llama.
¡Gracias por la ayuda!
Este es un problema con Firebase. Parece estar relacionado con una actualización reciente de ellos en lugar de iOS 11. Están trabajando en una solución para ello.
Mientras tanto, si agrega el pod ''FirebaseInstanceID'', ''2.0.0''
a su podfile, lo arreglará.
Puede leer más aquí: https://github.com/firebase/quickstart-ios/issues/327#issuecomment-332655731
Necesita implementar UNUserNotificationCenterDelegate
extension AppDelegate: UNUserNotificationCenterDelegate {
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
completionHandler(.alert)
}
}
y configurarlo en el objeto didFinishLaunchingWithOptions
dentro de didFinishLaunchingWithOptions
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
UNUserNotificationCenter.current().delegate = self
return true
}
Puedes probar esto
Messaging.messaging().delegate = self
Messaging.messaging().shouldEstablishDirectChannel = true