0

私の元の問題: 19:03 19:ユーザーが午後07時のアラームを設定しているスケジュール通知は、来週から毎日実行するために

、私はでリマインダーを表示したいと思います: 09 19:12 通知の操作をしなかった場合。

(このアプリはオフラインで実行できるはずですので、プッシュ通知を使用してこのプロセスでアプリをスリープ状態にする方法はありません。

ユーザーがリマインダーをスケジュールするたびに、私は4(1つのオリジナルと3つのリピート)を慎重にスケジューリングしています。ユーザーが通知とやりとりすると、残りの部分はすべて削除されます。

問題は、通知が毎日繰り返されます(1,2,3,4,5,6または週7日)ので、すべての通知を削除すると、再び表示されません。

毎週来週から通知を開始する方法はありますか?

例:

今日は日曜日午後1時 であると私は明日からスケジュールを午前13時01分に毎週日曜日の通知をしたいと思います。

ありがとうございました。

答えて

0

これは、毎日同じ時刻に通知を受ける目的のCコードです。 その日に通知をスケジュールするための通知を提供します。 6月8日23: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); 
     } 
    }]; 
} 
関連する問題