我每30秒初始化一次本地通知。而且我想一旦用户按下停止本地通知的按钮就停止重复。
问题是我找不到解决办法。它保持每30秒重复一次
这就是我教育本地通知的方式
// Schedule the notification
UILocalNotification* localNotification = [[UILocalNotification alloc] init];
localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:30];
localNotification.alertBody = @"Testing Repeating Local Notification";
localNotification.applicationIconBadgeNumber = 1;
localNotification.timeZone = [NSTimeZone defaultTimeZone];
localNotification.soundName = UILocalNotificationDefaultSoundName;
localNotification.repeatCalendar = [NSCalendar currentCalendar];
localNotification.repeatInterval = kCFCalendarUnitSecond;
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
我已经尝试过
[[UIApplication sharedApplication] cancelAllLocalNotifications];
。但它确实起作用。 最佳答案
您可以将repeatInterval
设置为0吗?根据文档,如果将其设置为零,则将触发一次通知。因此,当按下停止按钮时,您可以执行以下操作
localNotification.repeatInterval = 0;
[[UIApplication sharedApplication] cancelAllLocalNotifications];