2012-07-22 4 views
8

berühren habe ich umgesetztWenn meine Anwendung im Hintergrund ist, ist Push-Benachrichtigungen behandelt nur, wenn ich die Top-Benachrichtigung Banner

application:didReceiveRemoteNotification: 

Daten in meiner Anwendung zu speichern, wenn eine Push-Benachrichtigung empfangen wird.

jedoch, wenn meine app im Hintergrund und ich erhalten eine Benachrichtigung, werden die Daten nur dann gespeichert, wenn ich die Meldung Banner erscheint oben berühren:

enter image description here

Stattdessen, wenn ich das App-Symbol berühren wieder öffnen, wird der Inhalt der Meldung nicht gespeichert:

enter image description here

Da ich nur die Benachrichtigungen empfangen, wenn ich das Verteilungsprofil verwenden, ich bin nicht sicher, wenn application:didReceiveRemoteNotification: nur aufgerufen wird, wenn ich das Benachrichtigungsbanner oben drücken.

Ich dachte, es wird immer zum Zeitpunkt einer Benachrichtigung aufgerufen, und nicht nach einer Benutzeraktion auf dem Gerät.

UPDATE. Ich weiß nicht, ob dies aber helfen kann, nur damit Sie wissen, ich habe eine dieser Methoden nicht implementiert:

– applicationDidEnterBackground: 
– applicationWillEnterForeground: 
- applicationDidBecomeActive: 

Antwort

1

Ich glaube, ich habe herausgefunden, warum. Aus der Dokumentation:

Wenn die Aktionstaste (auf einem Gerät mit iOS) abgegriffen wird, startet das System die Anwendung und ruft die Anwendung seiner Delegierten Anwendung: didFinishLaunchingWithOptions: Methode (falls implementiert); es übergibt in der Benachrichtigung Nutzlast (für Remote-Benachrichtigungen) oder lokalen Benachrichtigungsobjekt (für lokale Benachrichtigungen).

Wenn das Anwendungssymbol auf einem Gerät mit iOS angeklickt wird, ruft die Anwendung die gleiche Methode auf, liefert jedoch keine Informationen über die Benachrichtigung.

http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/IPhoneOSClientImp/IPhoneOSClientImp.html

aber ich frage mich, ob es einen Weg gibt, um die Nutzlast, auch wenn die App erneut geöffnet wurde durch Berühren Sie das Symbol hat zu laden.

+1

Ich weiß, es ist eine Weile her, aber haben Sie es geschafft, die Payload zu erkennen/zu laden, selbst wenn die App durch Tippen auf das Symbol statt der Benachrichtigung geöffnet wurde? –

+0

Der Link, den du gepostet hast, ist nicht mehr verfügbar und der Downvote ist NICHT von mir ... – ashokdy

Verwandte Themen