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()
当使用 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()