如何在一周中的特定几天重复本地通知 (iOS Swift 3)

How to repeat local notifications on specific days of the week (iOS Swift 3)

我正在创建我的第一个应用程序,它允许用户为自己设置警报,然后该应用程序会在设定的时间向用户发送本地通知。我现在遇到的问题是能够在一周的特定日期(例如每周一和周二)触发本地通知。到目前为止,我遇到的所有 tutorials/questions(例如 一个)都只是关于安排通知 everyday/everyweek。我想要达到的预期结果有点像 iPhone 的内置警报系统,您可以将警报设置为仅在一周中的特定几天触发。

如果我不能只设置 notification.repeatInterval 字段,有什么方法可以做我想做的事吗?我能否在午夜执行一些代码来为当天安排正确的通知?如果是这样,我该怎么做?

提前致谢!

The thing that I'm having trouble with now is being able to fire the local notification on specific days of the week

在iOS10中,使用DateComponents形成了一个UNCalendarNotificationTrigger。这意味着您可以根据需要指定尽可能多或尽可能少的相关日期时间。因此,如果您指定特定的工作日和时间(小时和分钟),而不指定其他任何内容,您将在一周中的那一天的那个时间重复。

如果您还需要在一周中的不同日期重复,只需再次通知即可。