Push-уведомление не получено, когда приложение находится в фоновом режиме в iOS 10
Я использую FCM (Firebase Cloud Messaging) для отправки push-уведомлений в iOS.
Я могу получать уведомления, когда приложение находится на переднем плане. Но когда приложение находится в фоновом режиме, уведомление не получено. Всякий раз, когда приложение перейдет в состояние переднего плана, только тогда будет получено уведомление.
Мой код:
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
willPresentNotification:(UNNotification *)notification
withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler {
// Print message ID.
NSDictionary *userInfo = notification.request.content.userInfo;
NSLog(@"Message ID: %@", userInfo[@"gcm.message_id"]);
// Pring full message.
NSLog(@"%@", userInfo);
if( [UIApplication sharedApplication].applicationState == UIApplicationStateInactive )
{
NSLog( @"INACTIVE" );
completionHandler(UNNotificationPresentationOptionAlert);
}
else if( [UIApplication sharedApplication].applicationState == UIApplicationStateBackground )
{
NSLog( @"BACKGROUND" );
completionHandler( UNNotificationPresentationOptionAlert );
}
else
{
NSLog( @"FOREGROUND" );
completionHandler( UNNotificationPresentationOptionAlert );
}}
- (void)applicationDidEnterBackground:(UIApplication *)application {
}
Когда приложение находится в фоновом режиме:
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
willPresentNotification:(UNNotification *)notification
withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler
- не называется вообще.
Я включил push-уведомления, а также удаленные уведомления в фоновых режимах в App Appabilities. Но приложение все еще не получает уведомление.
Я сослался на некоторые вопросы StackOverflow, но не смог решить эту проблему. Что-нибудь добавить в iOS версии 10 или какую-то ошибку в моем коде?