一尘不染

如何在一周的特定日期重复本地通知(iOS Swift 3)

swift

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

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

提前致谢!


阅读 325

收藏
2020-07-07

共1个答案

一尘不染

我现在遇到的麻烦是能够在一周的特定日期触发本地通知

在iOS10中,使用DateComponents形成UNCalendarNotificationTrigger。这意味着您可以根据需要指定尽可能多的日期时间。因此,如果您指定一个特定的工作日和一个时间(小时和分钟),并且没有其他规定,那么您将在一周中的这一天的那个时间重复。

如果您还需要在一周的另一天重复一次,只需再发送一次通知即可。

2020-07-07