Запуск локальных уведомлений с почасовым интервалом каждый день в течение указанного c времени - PullRequest
1 голос
/ 04 мая 2020

Как сделать так, чтобы мое приложение могло запускать локальные уведомления каждый день с настраиваемым интервалом, но только в течение выделенного времени, например: с 10:00 до 20:00 вечера?

Теперь я только реализованы повторяющиеся уведомления с настраиваемым интервалом:

    func beginNotifications(_ config: UserConfig) {

    let interval = config.notificationInterval

    let center =  UNUserNotificationCenter.current()
    center.removeAllPendingNotificationRequests()

    let content = UNMutableNotificationContent()
    content.title = "Content title"
    content.subtitle = "Content body"
    content.sound = UNNotificationSound.default

    let trigger = UNTimeIntervalNotificationTrigger(timeInterval: interval, repeats: true)

    let request = UNNotificationRequest(identifier: "notification", content: content, trigger: trigger)

    center.add(request)

}

До сих пор я только придумал решение - создать два отдельных метода с использованием таймера, который будет ежедневно запускать и останавливать функцию уведомления, и включать фоновый режим для приложения.

1 Ответ

0 голосов
/ 04 мая 2020

Первое решение пришло мне в голову, если я планировал локальное уведомление pu sh N раз (сколько раз вы хотите). Вам просто нужно сделать identifier уникальным, конечно.

enter image description here


До сих пор я только нашел решение - создайте два отдельных метода с помощью таймера, который будет запускать и останавливать функцию уведомления ежедневно и включать фоновый режим для приложения.

Это не рекомендуется, imo, и если вы нажмете sh это, вы возможно, придется иметь дело с командой проверки Apple.

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