Кэширование всех удаленных уведомлений - iOS - PullRequest
0 голосов
/ 13 января 2019

Можно ли как-нибудь кэшировать все мои входящие удаленные уведомления?

Насколько я понимаю, UNUserNotificationCenterDelegate предоставляет два метода делегата: «didReceive» и «willPresent»

С помощью вышеуказанных методов делегата я могу кэшировать удаленные уведомления

  • Когда приложение находится на переднем плане

  • Когда приложение находится в фоновом режиме / завершено и выбрано уведомление

Но я не могу кешировать удаленные уведомления

  • Когда приложение находится в завершенном состоянии и приложение открывается, выбрав значок приложения, а не уведомление

Так что же можно сделать, чтобы достичь того же? Мне интересно, возможно ли это вообще.

Я попытался установить доступный контент как 1 с включенной фоновой выборкой. Но это не выполняет логику, написанную в блоке didReceiveRemoteNotification. Я подтвердил это, сохранив счетчик в UserDefaults. Написал логику, которая увеличивает счетчик от UserDefaults. Но счетчик, по-видимому, не увеличивается в случае, о котором я упоминал выше.

1 Ответ

0 голосов
/ 14 января 2019

Используйте getDeliveredNotificationsWithCompletionHandler: метод общего объекта UNUserNotificationCenter, чтобы получить список уведомлений, все еще отображаемых в Центре уведомлений, сразу после запуска приложения!

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