Localnotification показывает только два действия?

Я хочу запустить простое локальное уведомление и отобразить три действия. Я следовал различным учебным пособиям (например, https://gist.github.com/kristopherjohnson/06bab43acbd9cebe5fd7 или https://github.com/ariok/TB_InteractiveNotifications/blob/master/TB_InteractiveNotifications/AppDelegate.swift), и все они работают (уведомление).

Тем не менее, на экране блокировки отображаются только два действия, независимо от того, что я делаю (все учебники имеют три действия). Я даже прокомментировал минимальный контекст (где отображаются только два действия).

Я попробовал симулятор iphone 4s, 5 и 6(s), но все они имеют одинаковый результат.

Может кто-то указать мне верное направление?

ViewController.swift:

var categoryID:String {
    get{
        return "COUNTER_CATEGORY"
    }
}

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    let notification = UILocalNotification()
    notification.alertBody = "Hey! Update your counter ;)"
    notification.soundName = UILocalNotificationDefaultSoundName
    notification.fireDate = NSDate(timeIntervalSinceNow: 5)
    notification.category = categoryID

    UIApplication.sharedApplication().scheduleLocalNotification(notification)

}

Appdelegate.swift:

enum Actions:String{
    case increment = "INCREMENT_ACTION"
    case decrement = "DECREMENT_ACTION"
    case reset = "RESET_ACTION"
}

var categoryID:String {
    get{
        return "COUNTER_CATEGORY"
    }
}

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.

    // 1. Create the actions **************************************************

    // increment Action
    let incrementAction = UIMutableUserNotificationAction()
    incrementAction.identifier = Actions.increment.rawValue
    incrementAction.title = "ADD +1!"
    incrementAction.activationMode = UIUserNotificationActivationMode.Background
    incrementAction.authenticationRequired = true
    incrementAction.destructive = false

    // decrement Action
    let decrementAction = UIMutableUserNotificationAction()
    decrementAction.identifier = Actions.decrement.rawValue
    decrementAction.title = "SUB -1"
    decrementAction.activationMode = UIUserNotificationActivationMode.Background
    decrementAction.authenticationRequired = true
    decrementAction.destructive = false

    // reset Action
    let resetAction = UIMutableUserNotificationAction()
    resetAction.identifier = Actions.reset.rawValue
    resetAction.title = "RESET"
    resetAction.activationMode = UIUserNotificationActivationMode.Foreground
    // NOT USED resetAction.authenticationRequired = true
    resetAction.destructive = true


    // 2. Create the category ***********************************************

    // Category
    let counterCategory = UIMutableUserNotificationCategory()
    counterCategory.identifier = categoryID

    // A. Set actions for the default context
    counterCategory.setActions([incrementAction, decrementAction, resetAction],
        forContext: UIUserNotificationActionContext.Default)




    // 3. Notification Registration *****************************************

    let types = UIUserNotificationType.Alert
    let settings = UIUserNotificationSettings(forTypes: types, categories: NSSet(object: counterCategory) as? Set<UIUserNotificationCategory>)
    UIApplication.sharedApplication().registerUserNotificationSettings(settings)
    return true
}

Источник: https://github.com/ariok/TB_InteractiveNotifications/blob/master/TB_InteractiveNotifications/AppDelegate.swift

0 ответов

Другие вопросы по тегам