0

私のアプリは、平日のみアラームをトリガーする必要があります。私の考えは、毎日の通知をスケジュールすることでしたが、問題は、64 のスケジュールされた通知が最大であり、私の通知では合計 120 の通知があるため、これを行うことができないことを読んだことです。

代わりに、土曜日と日曜日にすべての通知をキャンセルする方法があるかどうか疑問に思っています。

私が現在使用しているコードは、週末に通知を繰り返して次のことを行います。

NSDateComponents *comps = [[NSDateComponents alloc] init];
    [comps setHour:8];
    [comps setMinute:25];
    NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    NSDate *fireDate = [gregorian dateFromComponents:comps];

    UILocalNotification *alarm = [[UILocalNotification alloc] init];

    alarm.fireDate = fireDate;
    alarm.repeatInterval = NSDayCalendarUnit;
    alarm.soundName = @"sound.aiff";
    alarm.alertBody = @"Message..";
    alarm.timeZone = [NSTimeZone defaultTimeZone];
    [[UIApplication sharedApplication] scheduleLocalNotification:alarm];
4

1 に答える 1

0

を見てください[UIApplication scheduledLocalNotifications]。すべての通知がスケジュールされています。

の配列ですUILocalNotification

この配列でループを作成しfireDate、通知の日付を見て、次を実行します。

[UIApplication cancelLocalNotification:theNotificationToDelete];
于 2012-11-13T17:05:42.983 に答える