UILocalNotification repeatInterval不断推送通知

时间:2015-06-03 14:31:56

标签: ios xcode swift uilocalnotification

使用repeatInteval时,无论是在分钟/日/小时等设置,都会一个接一个地推送通知。

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

    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)

2 个答案:

答案 0 :(得分:1)

如果您使用CalendarUnitDay重复设置通知,则应在第一次触发后的同一时间重复每天。 注意删除预定通知是不足以删除应用程序(至少在iOS7中),因为系统保持通知已注册但静音24小时以避免意外卸载。
也许您仍然看到旧的预定通知 要确保设置断点并向应用代表询问-scheduledNotifications,如果发现超出预期,则会出现问题。

答案 1 :(得分:0)

如果您每隔几秒钟测试一次就意味着所有通知都已安排并将被接收。尝试先取消所有预定的通知,然后按所需的时间间隔重新安排

UIApplication.sharedApplication().cancelAllLocalNotifications()