2015-05-10 12 views
15

Sono in ascolto di azioni per le mie notifiche locali, ma c'è un modo per determinare quando l'utente chiude una notifica?Come ascoltare la notifica di evento licenziato in iOS?

Ecco come sto ascoltando le mie azioni nel mio AppDelegate, ma il respingere non si attiva questa:

func application(application: UIApplication, handleActionWithIdentifier identifier: String?, forLocalNotification notification: UILocalNotification, completionHandler:() -> Void) { 
     var actionName: String? = nil 

     if let identifier = identifier { 
      switch identifier { 
       case "snoozeAction": 
        actionName = "snoozeActionTapped" 
        break 
       default: break 
      } 

      if let name = actionName { 
       NSNotificationCenter.defaultCenter().postNotificationName(name, object: nil) 
      } 
     } 

     completionHandler() 
    } 
+0

sei riuscito a capirlo? Sto avendo un problema simile. –

+0

No, non l'ho fatto, ho rinunciato e ci ho lavorato aggirando un metodo di sondaggio. Ho appena iniziato una taglia per farlo rivivere. – TruMan1

+3

Perché vuoi farlo? Apple lo rende intenzionalmente difficile (impossibile?) Perché l'utente ha esplicitamente indicato di non voler interagire con la notifica. –

risposta

8

Respingendo una notifica fa non svegliare la tua applicazione in modo che non ci sia modo di catturarla.

2

si dovrebbe provare questo:

func application(application: UIApplication!, 
      handleActionWithIdentifier identifier:String!, 
      forLocalNotification notification:UILocalNotification!, 
      completionHandler: (() -> Void)!){ 

       if (identifier == "FIRST_ACTION"){ 

        NSNotificationCenter.defaultCenter().postNotificationName("actionOnePressed", object: nil) 

       }else if (identifier == "SECOND_ACTION"){ 
        NSNotificationCenter.defaultCenter().postNotificationName("actionTwoPressed", object: nil) 

       } 

       completionHandler() 

     } 
Problemi correlati