首页 文章

UNCalendarNotificationTrigger每隔3天?

提问于
浏览
0

我的应用程序必须每n天提醒用户一些事情 .

目前,我有

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

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

我发现 UNTimeIntervalNotificationTrigger 允许我每隔24或48等小时将其关闭但是这使我有可能在某个白天开火 .

我应该混合那些2吗?首先设置日历触发器,并在第一个通知中使它实际重复?对我来说似乎不对,必须有一个更简单的方法 .

1 回答

  • 2

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

    如果您不需要设置触发通知的特定时间,则可以使用UNTimeIntervalNotificationTrigger,它允许您在设置通知后每隔72小时设置一次通知 .

    如果您需要确切的通知时间,您可以使用您的代码,但添加dateComponents.weekday并设置1和4或其他 . 哪个不完美,但可能适合您的需求 .

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

相关问题