我正在编写一个应用程序,并希望包含本地通知。我希望通知在规定的时间内发送,并且每天重复。
我将此编程到我的应用程序中,它确实通知了用户。然而,代替用户仅在设定时间每天被通知一次,应用程序在该设定时间向用户发送13+通知。通知的数量每天都在增加。
如何解决此问题?我只希望通知每天只通知用户一次。
这是我一直在使用的代码。它是在使用App Delegate的选项完成启动时设置的。
let notificationSettings = UIUserNotificationSettings(forTypes: [.Badge, .Alert, .Sound], categories: nil)
UIApplication.sharedApplication().registerUserNotificationSettings(notificationSettings)
let title: String = "Read Today's Pulse Habit!"
let calendar = NSCalendar.currentCalendar()
let calendarComponents = NSDateComponents()
calendarComponents.hour = 15
calendarComponents.minute = 30
calendarComponents.second = 0
calendar.timeZone = NSTimeZone.defaultTimeZone()
let dateToFire = calendar.dateFromComponents(calendarComponents)
let notification = UILocalNotification()
notification.alertBody = "\(title)"
notification.alertAction = "Read Now"
notification.fireDate = dateToFire
notification.alertTitle = "PULSE"
notification.repeatInterval = NSCalendarUnit.Day
notification.soundName = UILocalNotificationDefaultSoundName
notification.applicationIconBadgeNumber = UIApplication.sharedApplication().applicationIconBadgeNumber + 1
UIApplication.sharedApplication().scheduleLocalNotification(notification)
我甚至尝试取出包含递增图标徽章编号的行,但没有任何区别。