iOS установила локальное уведомление в определенный день
Я уверен, что этот вопрос где-то дублируется, но я могуне могу найти решение. Я делаю приложение, в котором одна функция позволяет пользователю выбирать дни и время, когда они будут получать локальное уведомление.
Они могут выбрать любое время дня, которое им нравится, и могут переключать различные дни недели (понедельник, вторник, брак и т. Д.). Уведомления будут отправляться еженедельно. Поэтому я ограничиваю пользователя созданием только 3 уведомлений - если выбраны все 7 дней, я установлюrepeatInterval
в день (одно уведомление). Если для каждых 3 уведомлений выбрано 6 дней, мне понадобится индивидуальное уведомление для каждого дня (всего 3x6 = 18 уведомлений). По всей вероятности, будет использовано только 1 уведомление, так что это нормально.
Я знаю, как установить уведомление на определенное время в будущем, но как мне установить уведомление, например, на 6 часов вечера в понедельник?
Ниже мой код, который я использовал для тестирования. Он устанавливает предупреждение на 4 секунды в будущем (я звонил изapplicationDidEnterBackground
).
NSDateComponents *changeComponent = [[NSDateComponents alloc] init];
changeComponent.second = 4;
NSCalendar *theCalendar = [NSCalendar currentCalendar];
NSDate *itemDate = [theCalendar dateByAddingComponents:changeComponent toDate:[NSDate date] options:0];
UILocalNotification *localNotif = [[UILocalNotification alloc] init];
localNotif.fireDate = itemDate;
localNotif.timeZone = [NSTimeZone defaultTimeZone];
localNotif.repeatInterval = NSWeekdayCalendarUnit;