2016-08-22 2 views
0

Ich plane Timer und sende einige lokale Benachrichtigung für den Benutzer über einige Daten, Beispiel ist - wenn es ein Geschäft in der Nähe ist.erkennen spezifische localNotification geöffnet

Wenn App im Hintergrund ausgeführt wird, wenn einige Speicher in der Nähe von Benutzerkoordinaten vorhanden sind, gibt es eine lokale Benachrichtigung.

Zum Beispiel gibt es drei lokale Benachrichtigung erhalten über verschiedene Geschäfte und Benutzer wischt die zweite und machen App aktiv von ihm.

Die Frage ist, zu erkennen, von welcher spezifischen BenachrichtigungsanwendungDidBecomeActive gestartet wurde, einige launchOptions, wie für Push-Benachrichtigungen vom Server? Irgendwelche Lösungen?

Antwort

1

Sie müssen es in didReceiveLocalNotification Methode delegieren

func application(application: UIApplication!, didReceiveLocalNotification notification: UILocalNotification!) { 
     // do your jobs here 
} 

notification param Informationen für jede Meldung enthält handhaben.

Auch launchOptions hat einen Schlüssel UIApplicationLaunchOptionsLocalNotificationKey, der Benachrichtigung enthält.

Sie können es wie

let localNotification:UILocalNotification = launchOptions.objectForKey(UIApplicationLaunchOptionsLocalNotificationKey) 
+0

ok, cool, i 3-Benachrichtigungen erhalten, und sie dort behandeln, aber wie kann ich wissen, was bestimmte Benachrichtigungsanwendung aktiv wurde? –

+0

Aktualisierte Antwort! – iSashok

+0

Startoptionen sind verfügbar von Methode didFinishLaunchingWithOptions wenn Anwendung nicht geschlossen wurde, nur an Hintergrund senden, wird diese Methode nicht ausgeführt –

Verwandte Themen