und - iphone system belegt viel speicher




Ist der APN-Gerätetoken für jede einzelne App eindeutig? (4)

Beachten Sie jedoch, dass Apple sich das Recht vorbehält, Geräte APNToken nach eigenem Ermessen zu ändern, also verwenden Sie es nicht, um ein Gerät / Benutzer eindeutig zu identifizieren.

Ich habe zwei Apps im iTunes Store - beide implementieren Push-Benachrichtigungen. Während ich Tests mit dem Senden von Benachrichtigungen an diese Produktions-Apps durchführte, bemerkte ich, dass ein für App A vorgesehener Push betitelt wurde und App B geöffnet wurde.

Beide Apps sind auf demselben Telefon installiert. Ich schaute in meine Gerätetabelle und sah, dass die Geräte-Token (und natürlich die Geräte-ID), die für die beiden Apps aufgelistet waren, beide gleich waren.

Bei Bedarf verwende ich zwei verschiedene Zertifikate auf dem Server - einen für jede App. Ich ging irgendwie davon aus, dass das Gerät Token oder Zertifikat die Nachricht an die richtige App weiterleiten würde, aber eindeutig nicht.

Ich kann in NSLog sehen, dass die Token, die von jeder App gesendet werden, in der Tat gleich sind.

Sollte das Gerät Token für jede App eindeutig sein? Wenn ja, eine Idee, wie mein Testtelefon den gleichen Geräte-Token für beide Apps an meinen Server senden könnte. Beachten Sie, dass dies von zwei Apps im App Store stammt.

Danke für jede Hilfe!


Das Gerätetoken für Push-Benachrichtigungen ist anwendungsspezifisch. Nicht gerätespezifisch. Das bedeutet, dass das Geräte-Token für mehrere Apps auf demselben Gerät unterschiedlich und eindeutig ist.

Nach Apfel,

Durch die Unterstützung von Remote-Benachrichtigungen können Sie Benutzern Ihrer App aktuelle Informationen bereitstellen, auch wenn die App nicht ausgeführt wird. Um Remotebenachrichtigungen empfangen und verarbeiten zu können, muss Ihre App:

  • Aktivieren Sie Remote-Benachrichtigungen.

  • Registrieren Sie sich bei Apple Push Notification Service (APNs) und erhalten Sie ein appspezifisches Geräte-Token.

  • Senden Sie das Geräte-Token an Ihren Benachrichtigungsanbieterserver.

  • Implementieren Sie die Unterstützung für die Behandlung eingehender Remote-Benachrichtigungen.

Ein app-spezifischer Geräte-Token ist weltweit eindeutig und identifiziert eine Kombination aus Apps und Geräten. Nach Erhalt eines Geräte-Tokens von APNs in Ihrer App liegt es in Ihrer Verantwortung, eine Netzwerkverbindung zu Ihrem Provider herzustellen. In Ihrer App liegt es auch in Ihrer Verantwortung, den Geräte-Token zusammen mit anderen relevanten Daten, die Sie an den Anbieter senden möchten, weiterzuleiten. Wenn der Provider später Remote-Benachrichtigungsanforderungen an APNs sendet, muss er das Geräte-Token zusammen mit den Benachrichtigungs-Payloads enthalten. Weitere Informationen hierzu finden Sie in der APN-Übersicht.

Verwende nie Geräte-Token in deiner App. Holen Sie sie stattdessen aus dem System, wenn Sie sie brauchen. APNs gibt ein neues Geräte-Token an Ihre App aus, wenn bestimmte Ereignisse eintreten. Das Geräte-Token wird garantiert unterschiedlich sein, beispielsweise wenn ein Benutzer ein Gerät von einer Sicherung wiederherstellt, wenn der Benutzer Ihre App auf einem neuen Gerät installiert und der Benutzer das Betriebssystem erneut installiert. Durch das Abrufen des Tokens, anstatt sich auf einen Cache zu verlassen, wird sichergestellt, dass Sie über das aktuelle Geräte-Token verfügen, das für die Kommunikation Ihres Providers mit APNs erforderlich ist. Wenn Sie versuchen, ein Geräte-Token abzurufen, aber es hat sich nicht geändert, kehrt die Methode fetch schnell zurück.

Sie können das Apfeldokument hier als developer.apple.com/library/content/documentation/…


Sie können das Token nicht als eindeutigen Bezeichner verwenden, sondern das alte Token mithilfe von save in keygen (help from itunes) entfernen und das alte Token löschen und ein neues in Ihrer Datenbank hinzufügen.


iOS 7 geht damit anders um. Es ist jetzt einzigartig.

Bitte beachten Sie Punkt 1 in diesem Artikel: http://urbanairship.com/blog/2013/10/03/how-ios-7-handles-push-differently

"Vor iOS 7 war der Geräte-Token in allen App-Installationen auf einem bestimmten Gerät gleich. Verschiedene Apps auf Ihrem Telefon, ob Tap Tap Revenge oder USA Today, würden dieselbe Adresse, dh Geräte-Token, verwenden, um den Push zu leiten Die Sicherheitsanmeldeinformationen, die Sie mit einer Nachricht verknüpfen, stellen sicher, dass sie in die richtige App gelangt sind. Auf iOS 7 ist Apple noch einen Schritt weiter gegangen und hat dafür gesorgt, dass Geräte-Token nun bei jeder einzelnen App-Installation unterschiedlich sind Schützen Sie die Privatsphäre Ihrer Nutzer zusätzlich, indem Sie eine andere Kennung auf Telefon-Ebene entfernen. "

Siehe auch ios 7-Geräte-Token ist für dasselbe Gerät unterschiedlich