У меня есть приложение, которое позволяет пользователям создавать повторяющиеся события. Каждое из событий может иметь или не иметь напоминания / предупреждения в определенное время c. Если это так, приложение отправляет локальное уведомление в это время суток.
События хранятся в CoreData .
Event(name: "Go to London",
date: 2020-04-03 21:40:55.419925+0200,
reminders: [2020-04-03 20:00:00.419925+0200,
2020-04-03 10:00:00.419925+0200,
2020-04-03 12:00:00.419925+0200]
)
Событие может происходить в каждый день года или каждый день в течение следующих X лет.
Пользователь может создавать неограниченное количество событий в день. И, следовательно, общее количество отправляемых уведомлений может легко превысить 64 (общее количество локальных уведомлений, которое вы можете запланировать в iOS). Поэтому я не могу запланировать все уведомления, пока приложение находится на переднем плане.
Мне нужен механизм для периодического планирования уведомлений, если ожидается менее 64 уведомлений. Это должно быть сделано, даже если приложение находится в фоновом режиме.
Буду рад, если вы предоставите решение или поможете мне найти решение для этого сценария.
info
Я попытался установить Таймер , который периодически проверяет общее количество ожидающих уведомлений и даты их выполнения. , Но это не сработало, потому что таймеры не срабатывают, когда приложение переходит в фоновый режим.