UNNotificationRequest 中的开始和结束日期

Posted

技术标签:

【中文标题】UNNotificationRequest 中的开始和结束日期【英文标题】:Start and End date in UNNotificationRequest 【发布时间】:2021-09-02 08:34:52 【问题描述】:

如何使用未来的开始日期(带时间)和结束日期(带时间)安排本地通知请求。是否有可能,因为我无法在框架中看到任何变量

【问题讨论】:

【参考方案1】:
            let formatter = DateFormatter()
            formatter.dateStyle = .long
            formatter.dateFormat = "dd MMM yyyy HH:mm"
            
            guard let startDate = formatter.date(from: "03 Sep 2021 09:40")
            , let endDate = formatter.date(from: "03 Sep 2021 10:40") else  return 
            
            let intervalBetweenNotifications: Double = 5 * 60 // 5 minutes
            
            for item in stride(from: startDate.timeIntervalSinceNow, to: endDate.timeIntervalSinceNow, by: intervalBetweenNotifications) 
                let objectId = UUID().uuidString
                let content = UNMutableNotificationContent()
                content.title = "Title of the notification"
                content.sound = .default
                content.threadIdentifier = objectId
                let trigger = UNTimeIntervalNotificationTrigger(timeInterval: item, repeats: false)
                let request = UNNotificationRequest(identifier: objectId, content: content, trigger: trigger)
                UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
            

您可以更改开始、结束日期和连续通知之间的间隔。

【讨论】:

这将安排每 1 分钟通知一次,但在您的情况下,开始日期将是今天,我想更改未来的日期。

以上是关于UNNotificationRequest 中的开始和结束日期的主要内容,如果未能解决你的问题,请参考以下文章

具有 UNNotificationRequest 的计算属性返回无法将类型“Void”的返回表达式转换为返回类型“[UNNotificationRequest]”

可以有多个未完成的 UNNotificationRequest 吗?

UNNotificationRequest 仅在 iPhone 解锁时播放自定义声音

从请求中检索 UNNotificationRequest 声音名称

如何在 UNNotificationRequest 中设置重复间隔和触发日期

UNNotificationRequest 需要唯一标识符,但也会触发重复项