0

Моя исходная задача:уведомления Расписание выполнять каждый день, начиная со следующей недели

Когда пользователь устанавливает будильник на 19:00, я хотел бы показать напоминание в: 19:03 19: 09 19:12 В случае, если он не взаимодействует с уведомлением.

(Приложение должно работать автономно, поэтому нет способа использовать push-уведомление, чтобы разбудить приложение для этого процесса, и, как вы знаете, локальное уведомление не пробуждает приложение).

Таким образом, каждый раз, когда пользователь планирует напоминание, я планирую 4 (1 оригинал и 3 повтора), и если пользователь взаимодействует с уведомлением, я удаляю все остальное.

Проблема заключается в том, что уведомление повторяется каждый день (1,2,3,4,5,6 или 7 дней в неделю). Поэтому, если я удалю все уведомления, он больше не будет отображаться.

Есть ли способ визжать уведомление, чтобы начать с следующей недели каждый день?

Пример:

Сегодня воскресенье 13:00 И я хотел бы графикам уведомления для каждого воскресенье 13:01 начиная с завтрашнего дня.

Спасибо.

ответ

0

Это объективный код C для получения уведомления каждый день в одно и то же время. Укажите дату отправки для уведомления о планировании на это время. Предположим, 23 июня 8:30, после чего он будет планировать уведомление в 8:30 ежедневно.

-(void)scheduleNotificationAtTime:(NSDate *)date withUserInfo:(NSDictionary *)dictData{ 

     self.gregorian = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian];; 
    NSDateComponents *components = [self.gregorian components:(NSCalendarUnitHour | NSCalendarUnitMinute) fromDate:date]; 

    NSDateComponents *components1 = components; 
    components1.hour = components.hour; 
    components1.minute = components.minute; 


    NSInteger hour = [components hour]; 
    NSInteger minute = [components minute]; 

    NSLog(@"Hour %ld Min %ld ", hour,minute); 


    UNCalendarNotificationTrigger *trigger = [UNCalendarNotificationTrigger triggerWithDateMatchingComponents:components1 repeats:YES]; 

    /* Set notification */ 

    UNMutableNotificationContent *content = [UNMutableNotificationContent new]; 
    content.body = @"Yo received notification."; 
    // content.categoryIdentifier=NSNotificationC; 
    content.sound = [UNNotificationSound defaultSound]; 
    NSString *identifier = @"LocalNotification"; 
    content.userInfo = dictData; 
    UNNotificationRequest *request = [UNNotificationRequest requestWithIdentifier:identifier 
                      content:content 
                      trigger:trigger]; 

    UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter]; 
    center.delegate = self; 
    [center addNotificationRequest:request withCompletionHandler:^(NSError * _Nullable error) { 
     if (error != nil) { 
      NSLog(@"Something went wrong: %@",error); 
     } 
    }]; 
}