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;

Ответы на вопрос(4)

Ваш ответ на вопрос