运行 每天特定时间间隔的本地通知

Running local notifications with hourly interval every day for specific amount of time

如何让我的应用能够每天以可自定义的时间间隔触发本地通知,但仅限于分配的时间,例如:从 10:00 到 20:00pm?

现在我只实现了自定义间隔的重复通知:

    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)

}

到目前为止我只想到了解决方案 - 使用 Timer 制作两个单独的方法,每天启动和停止通知功能,并为应用程序启用后台模式。

我想到的第一个解决方案是安排本地推送通知 N 次(您想要多少次)。当然,您只需要使 identifier 独一无二即可。


By far I only came up with solution - to make two separate methods using Timer, which will start and stop notification function daily, and enable Background Mode for the app.

我不建议这样做,如果你推送它,你可能需要与 Apple 审核团队打交道。