本地通知提供多次而不是一次

时间:2017-06-19 12:07:58

标签: ios swift uilocalnotification

我正在编写一个应用程序,并希望包含本地通知。我希望通知在规定的时间内发送,并且每天重复。

我将此编程到我的应用程序中,它确实通知了用户。然而,代替用户仅在设定时间每天被通知一次,应用程序在该设定时间向用户发送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)

我甚至尝试取出包含递增图标徽章编号的行,但没有任何区别。

0 个答案:

没有答案