【问题标题】:UNCalendarNotificationTrigger Every 3rd day?UNCalendarNotificationTrigger 每 3 天?
【发布时间】:2018-10-06 05:17:57
【问题描述】:

我的应用必须每隔 n 天提醒用户某事。

目前,我有

var dateComponents = DateComponents()
dateComponents.hour = userHour
dateComponents.minute = userMinute
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: true)

我的问题是我不知道如何用 DateComponents 表达跳过日期。

我找到了UNTimeIntervalNotificationTrigger,它允许我每 24 或 48 小时等设置一次,但这让我有可能在特定的白天开火。

我应该混合这两个吗?首先设置日历触发器并在第一个通知中让它实际重复?我觉得不对,一定有更简单的方法。

【问题讨论】:

标签: swift uilocalnotification nsdatecomponents


【解决方案1】:

我已经深入研究了 iOS 本地通知,并且有些东西奇怪地缺席了。据我所知,这是其中之一。

如果您不需要设置触发通知的特定时间,您可以使用 UNTimeIntervalNotificationTrigger,它允许您从设置时间起每 72 小时设置一次通知。

如果您需要通知发出的确切时间,您可以使用您的代码,但添加 dateComponents.weekday 并设置 1 和 4 或其他任何值。这并不完美,但可能会满足您的需求。

一个需要更多工作的解决方案是创建大约 5 个通知。设置您希望它们触发的日期和时间(3 天后、6 天、9 天等)然后当用户启动应用程序时,您查看是否已发送任何通知并在将来再次设置它们。这些不会重复。每次都由您手动设置。

【讨论】:

  • 感谢您的回答。 5 通知的想法是我现在要做的,我可以接受。如果没有其他答案说明,将打勾。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-11-17
  • 1970-01-01
  • 1970-01-01
  • 2020-07-21
  • 2016-09-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多