UILocalNotification repeatInterval 不断推送通知

UILocalNotification repeatInterval keeps pushing notifications

当使用 repeatInteval 时,无论是否在 Minutes/Day/Hour 等上设置,通知都会一个接一个地推送。

它似乎工作正常,直到我每隔几秒测试一次,现在设置不会改回原样。有什么理由吗?

    var dateComp:NSDateComponents = NSDateComponents()
    dateComp.year = 2015;
    dateComp.month = 06;
    dateComp.day = 03;
    dateComp.hour = 15;
    dateComp.minute = 27;
    dateComp.timeZone = NSTimeZone.systemTimeZone()

    var calender:NSCalendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)!
    var date:NSDate = calender.dateFromComponents(dateComp)!

    var notification:UILocalNotification = UILocalNotification()
    notification.category = "Daily"
    notification.alertBody = "OK"
    notification.fireDate = date
    notification.repeatInterval = NSCalendarUnit.CalendarUnitDay
    notification.soundName = UILocalNotificationDefaultSoundName

    UIApplication.sharedApplication().scheduleLocalNotification(notification)

如果您将通知设置为使用 CalendarUnitDay 重复,它应该在第一次触发后的每一天的同一时间重复。 请注意,删除计划通知不足以删除应用程序(至少它在iOS7),因为系统保持通知注册但静默24小时以避免意外卸载。
也许您仍然会看到旧的预定通知。
确保放置一个断点并向应用程序委托询问其 -scheduledNotifications 如果您发现的内容超出您的预期,这就是问题的根源。

如果您每隔几秒测试一次,则意味着所有通知都已安排好并会收到。尝试先取消所有预定的通知,然后在所需的时间间隔重新安排

UIApplication.sharedApplication().cancelAllLocalNotifications()