iOS Behandelt Benachrichtigungen, nachdem die Anwendung aus dem nicht aktiven Zustand gestartet wurde

8

Ich habe versucht, Benachrichtigungen in meiner App zu empfangen, aber es funktioniert nicht wirklich.

Wenn ich didReceiveLocalNotification:(UILocalNotification *)notification verwende. Ich kann die Benachrichtigung, mit der die App aufgerufen wird, problemlos empfangen und verwenden

Diese Funktion wird jedoch nur ausgelöst, wenn die App bereits läuft (aktiv, inaktiv, Hintergrund und möglicherweise gesperrt, aber ich habe das noch nicht ausprobiert).

Nun gibt es diese Funktion didFinishLaunchingWithOptions:(NSDictionary *)launchOptions , wo Sie [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey] verwenden können, die eine UILocalNotification zurückgibt.

Wenn Sie die App jedoch über den Status not-running starten, wird dieses Ereignis nicht ausgelöst. Die LocalNotification öffnet dann die App, aber ich kann sie nicht verwenden.

Nun, meine Frage ist: Wie kann ich dafür sorgen, dass es funktioniert, damit ich beim Starten der App Benachrichtigungen empfangen und verarbeiten kann, wenn die App in einem nicht aktiven Zustand ist? Is gibt es da vielleicht etwas was ich falsch mache?

Hier ist ein Beispielcode aus meiner App:

Zuerst die Funktion didFinishLaunchingWithOptions , die leider nicht funktioniert. Die Funktion [sharedLocalNotificationsInstance processNotification:notification] wird niemals gestartet ...

%Vor%

Und ein zweites Stück Code: Die didReceiveLocalNotification-Funktion, die perfekt funktioniert: Ich erhalte die Benachrichtigung und [sharedLocalNotificationsInstance processNotification: notification] funktioniert perfekt.

%Vor%     
laarsk 05.09.2012, 07:22
quelle

2 Antworten

4

So behandelt iOS lokale Benachrichtigungen. Dies hängt davon ab, in welchem ​​Status der App, z. aktiv, läuft im Hintergrund oder noch nicht gestartet. Das iOS wird entweder didFinishLaunchingWithOptions oder didReceiveLocalNotification aufrufen oder Ihre App überhaupt nicht berühren.

Bitte lesen Sie zur Klärung diesen Artikel - Ссылка

    
K S 12.09.2012 03:06
quelle
1

<Matrix-Morpheus-Meme title="WHAT IF I TOLD YOU">

Wenn eine Anwendung aus dem Status "Nicht ausgeführt" gestartet wird, weil ein Benutzer auf eine lokale Benachrichtigungswarnung geklickt hat, wurde die Anwendung von iOS gestartet, nicht von Xcode, sodass sie NICHT UNTER DEM DEBUGGER LÄUFT. Sie können darin keinen Haltepunkt setzen und NSLog () sendet auch nichts an die Xcode-Konsole. Testen Sie mit UIAlertController .

</Matrix-Morpheus-Meme>

    
Gary 02.02.2016 16:26
quelle