ReactNative iOS UNUserNotificationCenter: внедрить didReceiveNotificationResponse - PullRequest
2 голосов
/ 10 октября 2019

Я создаю приложение React Native и использую scheduleLocalNotifications. Внутри обработчика уведомлений я перемещаю пользователя к определенному экрану внутри приложения. До интеграции OneSignal все работало нормально. После того, как я понимаю, теперь мне нужно реализовать UNUserNotificationCenter делегат для обработки уведомлений кликов. Я сделал это, но когда я открываю уведомление, я получаю предупреждение с надписью

App[134:16879] Warning: UNUserNotificationCenter delegate received call to -userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler: but the completion handler was never called.

, и обработчик не вызывается.

Вот что я сделал.

Iу меня есть AppDelegate.h со следующим кодом:

...
#import <UserNotifications/UserNotifications.h>

@interface AppDelegate : UIResponder <UIApplicationDelegate, RCTBridgeDelegate, UNUserNotificationCenterDelegate>
...

Затем внутри AppDelegate.m я реализовал следующий метод:

- (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response  withCompletionHandler:(void (^)(void))completionHandler   {
  NSLog( @"for handling push in background" );
}

и добавил этот код в didFinishLaunchingWithOptions:

...
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
  center.delegate = self;
...

Не могу понять, чего мне здесь не хватает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...