UILocalNotification:在特定日期取消所有内容

时间:2012-11-13 15:07:05

标签: objective-c ios uilocalnotification

我的应用程序只需在工作日触发警报。 我的想法是安排每天的通知,但问题是我读到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];

1 个答案:

答案 0 :(得分:0)

查看[UIApplication scheduledLocalNotifications],您已安排所有通知。

这是一个UILocalNotification的数组。

使用此数组创建循环并查看通知的日期fireDate,并执行以下操作:

[UIApplication cancelLocalNotification:theNotificationToDelete];