Повторять уведомление каждый месяц

Следующая строка кода может повторять локальное уведомление каждую неделю, верно?:

let triggerWeekly = Calendar.current.dateComponents([.weekday,hour,.minute,.second,], from: date)
let trigger = UNCalendarNotificationTrigger(dateMatching: triggerWeekly, repeats: true)

Но как повторять локальное уведомление каждый месяц? Какие компоненты даты потребуются для планирования ежемесячного уведомления?


person Mannopson    schedule 08.10.2017    source источник
comment
Вы пробовали общие компоненты или финики? Нравится .день?   -  person Willeke    schedule 08.10.2017
comment
@Willeke Нет! Я еще не пробовал.   -  person Mannopson    schedule 08.10.2017


Ответы (1)


Вы можете использовать так:

let triggerMonthly = Calendar.current.dateComponents([.day], from: date)
let trigger = UNCalendarNotificationTrigger(dateMatching: triggerMonthly, repeats: true)
person Vini App    schedule 08.10.2017
comment
Что, если дата, запланированная на 31-е число, будет повторяться каждые два месяца? - person Leo Dabus; 09.10.2017
comment
А в феврале было бы еще хуже. Он никогда не запланировал бы также 30-е и 29-е, может быть, да, может быть, нет. - person Leo Dabus; 09.10.2017
comment
@LeoDabus Это значит, что создать невозможно? - person Mannopson; 09.10.2017