我每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];

10-08 06:29