gpt4 book ai didi

ios - 跨时区触发 UNNotification

转载 作者:可可西里 更新时间:2023-11-01 04:49:53 24 4
gpt4 key购买 nike

我无法跨时区正确触发 iOS 10 本地通知 (UNNotification)。

在时区 +10 小时,我希望它在 17:00:00 触发,并安排它。

稍后当我查看安排了哪些通知时,我得到了它的下一个触发日期,仍然在时区 +10 小时,它会说 17:00:00。

但是当我在设备上将时区更改为 +8 小时,并查看安排了哪些通知时,我得到了它的下一个触发日期,它仍然说 17:00:00 .我原以为它会在两个小时前的 15:00:00 触发。

我怎样才能让它像这样工作?我尝试更改用于创建馈送到 UNCalendarNotificationTrigger 的日期组件的日历的时区(尝试过的是:TimeZone.init(identifier: "Somewhere")TimeZone.autoupdatingCurrent,可能是其他)。但它不会改变,据我所知,即使我更改时区,我也总是得到完全相同的开火日期。

最佳答案

UNTimeIntervalNotificationTrigger 可以解决这个问题。

您可以计算您设置的日期与当前日期之间的差异,然后安排时间间隔触发器。

func timeIntervalTrigger(from date: Date, repeats: Bool) -> UNTimeIntervalNotificationTrigger {
let timeInterval = date.timeIntervalSinceNow
let trigger = UNTimeIntervalNotificationTrigger(timeInterval: timeInterval, repeats: repeats)
return trigger
}

关于ios - 跨时区触发 UNNotification,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43650737/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com