Sicher, Sie müssen sich jedes Mal, wenn die App gestartet wird, für Push-Benachrichtigungen registrieren. Wie die Dokumentation von Apple sagt, weiß man nie, wann und warum sich das Token ändern kann/wird.
Zweitens, in der Tat können Sie etwas Code haben, um das Token im Falle eines Serverfehlers oder des Verlusts von Internet lokal zu speichern, wenn Sie versuchen, es an Ihren Server zu senden. Und diese Logik kann mit einer Verzögerung und einer maximalen Anzahl von Versuchen erneut versuchen. Aber das ist ziemlich übertrieben und nicht KISS-ähnlich.
Was Sie tun können, senden Sie es, sobald Sie es von didRegisterForPushNotification erhalten und lokal speichern und jedes Mal, wenn der Benutzer Ihrer App einen "Update-Einstellungen" Anruf sendet es gleichzeitig auch.
senden Nun, das ist ziemlich verdammt definitiv! Vielen Dank. –
Kein Problem dude –
Ich würde hinzufügen, dass IMO es wichtig sein kann, es zu cachen. Wenn Sie es zwischenspeichern, werden Sie wissen, ob das Betriebssystem es geändert hat (was es sehr, sehr sehr selten tut), in welchem Fall dann und nur dann müssen Sie das neue an Ihren Server senden. Wenn Sie es nicht zwischenspeichern, wird das Ergebnis sein, dass Sie das Token immer jedes Mal an Ihren Server senden müssen, wenn Ihre App läuft und 99,9999999% der Zeit, die unnötig war. – Gruntcakes