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 回答