Расширение службы уведомлений Создание локальных уведомлений - PullRequest
1 голос
/ 07 марта 2019

Мы хотим добавить функцию в наше приложение, чтобы пользователи могли получать уведомления о важных уведомлениях, которые они могли пропустить.Вот как мы хотели бы, чтобы это работало:

  1. Когда приходит push-уведомление, запускается расширение службы уведомлений.
  2. Расширение проверяет, должно ли оно выполнять какую-либо работу (мыне хочу напоминать пользователям, если они в данный момент находятся в приложении).
  3. Если функция напоминания включена, расширение пытается порождать 3 локальных уведомления с интервалом в 1 минуту, напоминая пользователю, что они пропустили важную информацию.
  4. Если пользователь открывает приложение, все существующие локальные уведомления очищаются.
  5. Если другое уведомление поступает до того, как пользователь открывает приложение, все существующие локальные уведомления очищаются и создается новый набор.

Это прекрасно работает, кроме шага № 3.Я проверяю авторизацию уведомлений из расширения службы, прежде чем приступить к работе, и постоянно получаю .authorized обратно.Однако когда я вызываю UNUserNotificationCenter.current.add(_:withCompletionHandler:), обработчик завершения вызывается с ошибкой UNError: Notifications are not allowed for this application.

Странно то, что он работает , иногда .Например, я получу 2-е уведомление и получу напоминание, но 1-е и 3-е не получится.Тем не менее, это чрезвычайно редко (<5% успеха планирования локальных уведомлений). </p>

Кто-нибудь есть какое-либо понимание этого?

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