使用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)
答案 0 :(得分:1)
如果您使用CalendarUnitDay重复设置通知,则应在第一次触发后的同一时间重复每天。
注意删除预定通知是不足以删除应用程序(至少在iOS7中),因为系统保持通知已注册但静音24小时以避免意外卸载。
也许您仍然看到旧的预定通知
要确保设置断点并向应用代表询问-scheduledNotifications
,如果发现超出预期,则会出现问题。
答案 1 :(得分:0)
如果您每隔几秒钟测试一次就意味着所有通知都已安排并将被接收。尝试先取消所有预定的通知,然后按所需的时间间隔重新安排
UIApplication.sharedApplication().cancelAllLocalNotifications()