bekam PN jedoch Anwendung: Anwendung didReceiveRemoteNotification: nicht ausgelöst, wenn App-Symbol ausgewählt ist

9

Ich sehe ein eigenartiges Verhalten mit meiner Push-Benachrichtigung und habe mich gefragt, ob irgendjemand Ratschläge hat, was ich falsch gemacht habe oder tun sollte.

Ich habe mein application:(UIApplication*)application didReceiveRemoteNotification: wie folgt geschrieben:

%Vor%

Wie Sie sehen, mache ich mir keine Sorgen über den Zustand der App. Ich möchte nur eine Nachricht protokollieren, wenn ich eine PN bekomme.

Mein Setup ist wie in der Dokumentation von Apple und ich kann Push-Benachrichtigungen erhalten.

Das folgende Verhalten ist das erwartete Verhalten, wenn eine PN eingeht:

  • App ist im Hintergrund und ich klicke auf die Benachrichtigung: Ich kann die Benachrichtigung im Benachrichtigungscenter sehen. Klicken Sie auf die Benachrichtigung, die App kommt in den Vordergrund und ich kann sehen, dass die oben genannte Methode aufgerufen wird.
  • App ist aktiv und schon im Vordergrund: Ich kann die oben genannte Methode aufrufen.

Nun, das Folgende ist das besondere Verhalten, das ich sehe:

  • PN kommt herein. Sehen Sie es in den Benachrichtigungen, siehe das Abzeichen auf dem App-Symbol. Ich klicke auf das App-Icon - nicht auf die Benachrichtigung: In diesem Fall habe ich festgestellt, dass die obige Methode nicht aufgerufen wird. Ich habe erwartet, dass es heißt ...

Hat schon jemand dieses Verhalten gesehen? Soll das geschehen? Ich konnte in der Apple-Dokumentation diesbezüglich nichts sehen ... Würde es auch einen Weg geben?

    
Jimbalaya 17.05.2012, 00:51
quelle

3 Antworten

2

Wenn die App nicht im Hintergrund ausgeführt wurde, aber ursprünglich von der Push-Benachrichtigung gestartet wurde und Sie didFinishLaunchingWithOptions: implementiert haben, müssen Sie Ihren Code dort implementieren:

%Vor%     
MrJ 06.06.2012 09:35
quelle
2

Ich habe das gleiche Verhalten. Es macht mich verrückt, aber ich denke, so funktioniert iOS.

Nachfolgend ein Auszug aus der Apple-Dokumentation. Dies betrifft die Anwendung: didFinishLaunchingWithOptions, wenn die App nicht ausgeführt wird. Es sieht so aus, als wäre die App im Hintergrund / didReceiveRemoteNotification.

"Wenn die Aktionsschaltfläche angetippt wird (auf einem Gerät, auf dem iOS ausgeführt wird), startet das System die Anwendung und die Anwendung ruft die Anwendung ihres Delegate auf: didFinishLaunchingWithOptions: method (falls implementiert); sie übergibt die Benachrichtigungsnutzlast (für Remotebenachrichtigungen) oder das lokale Benachrichtigungsobjekt (für lokale Benachrichtigungen).

Wenn das Anwendungssymbol auf einem Gerät mit iOS angetippt wird, ruft die Anwendung die gleiche Methode auf, liefert jedoch keine Informationen zur Benachrichtigung. " Von: Ссылка

    
Oskar 07.12.2012 11:54
quelle
0

Mrs funktioniert in meinem Fall nicht, also habe ich die folgende Option versucht

Wenn die Anwendung nicht im Hintergrund ist, sollten Sie den folgenden Code verwenden

%Vor%     
Sukeshj 06.06.2013 07:07
quelle