Ограничение локальных уведомлений для приложения Календарь

Я создаю приложение Календарь, где вы можете планировать события, и вы получаете уведомление по UserNotification.

Проблема в том, что я недавно прочитал, что у вас может быть только 64 запланированных события. Но что, если у пользователя более 64 событий? Я знаю, что повторные уведомления считаются одним. Учитывается ли этот лимит для всех типов уведомлений (Таймер, Календарь, Отключение)?

Как бы вы решили эту проблему? Поскольку я не использую сервер, я не могу делать push/ удаленные уведомления.

Ждем ваших ответов!

Заранее спасибо!

1 ответ

Решение

После 64-го события вы можете попытаться сохранить те, которые после этого, и запланировать их, как только номер текущего запланированного события станет меньше, чем 64. Вы должны принять во внимание время расписания события, чтобы избежать пропущенного события с более ранней датой начала.

РЕДАКТИРОВАТЬ

Поскольку ваше приложение позволяет пользователю планировать будущие события, имеет смысл использовать CoreData для сохранения данных. Для каждого созданного ими события вы можете создать объект со следующими атрибутами:

  • название события
  • дата начала мероприятия
  • isScheduled boolean

Это должно быть довольно просто. После этого при каждом запуске приложения вы можете выбрать события и запланировать события с ближайшей датой начала. Таким образом, вам не нужно планировать событие слишком далеко вперед.

Если вы хотите проверить количество запланированных событий, вы можете сделать

UIApplicaiton.shared.scheduledLocalNotifications?.count

Этот метод работает, но он устарел, так что вы можете использовать

UNUserNotificationCenter.getPendingNotificationRequests
Другие вопросы по тегам