管理用户的时区和当地时间

时间:2016-10-20 23:32:35

标签: ios swift timezone

我正在制作移动应用。

我想知道我应该如何实现这种(简化)方案:

每年上午8:00向全世界的用户发送推送通知。

问题是每个用户都在不同的时区。有些国家在夏季或冬季将当地时间缩短了±1小时。

我可以为每个用户保留UTC±H,但仍然......我需要每天运行相同的任务超过24次(as the number of timezones

有更好的方法吗?

使用多区域用户处理预定任务的最佳做法?

感谢。

1 个答案:

答案 0 :(得分:1)

不要打扰为服务器上的每个时区分段和触发推送通知,因为你无法在上午8点完全发送它们(你的服务器会窒息死亡)。只需向所有手机发送静音推送通知,告知应用程序何时应在当地时间引发通知。然后进去     func应用程序(_ application:UIApplication,didReceiveRemoteNotification userInfo:[AnyHashable:Any])

让每个手机解析静默通知,将请求时间转换为本地日期时间(请参阅DateComponents)并创建一个UNNotificationRequest(iOS 10)或UILocalNotification(iOS 9及更早版本),它将在正确日期的上午8点启动