如何在设备时区变化时调整iOS本地通知



我们开发了一个iOS应用程序,允许用户根据给定的时间设置一些闹钟。这些设置的闹钟显示在我的应用程序的"闹钟调度"屏幕上。当到达设置的时间,本地通知触发此告警。

现在,如果用户改变他的时区说从EDT到PDT,然后"闹钟调度程序"屏幕显示闹钟时间正确,但我的本地通知没有被触发。

例如,假设现在是美国东部时间上午8:55,用户设置闹钟在美国东部时间上午9:00触发。现在我的"闹钟调度器"屏幕显示的闹钟时间是"9:00 AM",现在如果用户将时区更改为PDT,那么"闹钟调度器"页面显示的闹钟时间是"6:00 AM",这是正确的,用户手机显示的时间是"5:55 AM"。然而,5分钟后,当到达"6:00 AM PDT"时,本地通知不会被触发。

有人能建议如何实现这一点吗?

在调度本地通知时是否发送了任何时区?

当您发送时区通知时,操作系统将为您完成所有艰苦的工作。

这可能对你有帮助。

关于更改系统时区,

UIApplicationDelegate's -> applicationSignificantTimeChange:

方法被调用。你可以在那里管理你的东西

最新更新