Я имею дело со случаем использования, когда пользователь хочет, чтобы уведомление доставлялось каждые x часов.Но мы не хотим доставлять уведомления ночью, когда пользователь спит.Также есть настройка, специфичная для этого приложения, где пользователь может определить, когда для него ночь - «Тихие часы».
Я использую UserNotifications
API и планирую UNNotificationRequest
с повторением UNTimeIntervalNotificationTrigger
.
Вопрос: возможно ли на iOS проверить «is [окно тихих часов]» иесли да, запланировать следующее уведомление на следующий час из этого окна?Учитывая, что пользователь или iOS могли убить приложение.
Я пытался следовать статье iOS для фонового обновления , но потом понял, что это весьма не предсказуемо и ненадежно.Кроме того, это не случай фоновой выборки, поскольку нет никакого сетевого вызова URLSession.Также в этом руководстве, другая общая альтернатива фоновой задачи запускается из приложения, но в моем случае это не обязательно должно быть.
Если такой опции нет, я 'Придется реализовать много логики, чтобы прерывать повторные уведомления в тихие часы.