每30分钟更新一次徽章编号

时间:2016-01-02 13:56:33

标签: swift uilocalnotification

使用此代码,徽章编号将更改为" 1"当第一个通知触发时,但对于其余的通知,徽章编号不会触发。通知每30分钟发出一次,但徽章编号只会更改为" 1"第一次。任何人都知道我可以重写这个以使徽章编号为每个触发的通知添加1吗?

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    let notificationSettings = UIUserNotificationSettings(forTypes: [.Sound, .Alert, .Badge], categories: nil)
    UIApplication.sharedApplication().registerUserNotificationSettings(notificationSettings)

    let reminderNote: UILocalNotification = UILocalNotification()
    reminderNote.fireDate = NSDate(timeIntervalSinceNow: 60 * 30)
    reminderNote.repeatInterval = NSCalendarUnit.Hour
    reminderNote.alertBody = "some text"
    reminderNote.alertAction = "View"
    reminderNote.soundName = "sound.aif"
    UIApplication.sharedApplication().scheduleLocalNotification(reminderNote)
    reminderNote.fireDate = NSDate(timeIntervalSinceNow: 60 * 60)
    UIApplication.sharedApplication().scheduleLocalNotification(reminderNote)

    reminderNote.applicationIconBadgeNumber = UIApplication.sharedApplication().applicationIconBadgeNumber + 1

    UIApplication.sharedApplication().scheduleLocalNotification(reminderNote)

    return true
}

1 个答案:

答案 0 :(得分:0)

实际上没有用于制作定期本地通知的API,每次触发时都会更新徽章编号。您可以做的是取消所有以前的通知,并使用正确的徽章编号重新安排。但是,如果应用程序未打开,您将无法使用本地通知增加徽章编号。