2017-11-28 2 views
1

Ich plane, Apple APNS-Dienst in meiner App zu verwenden. Ich habe die Dokumentation durchgelesen und festgestellt, dass ich registerForRemoteNotifications() von der App aus anrufen muss, damit die App Geräte-Token über die Methode appdelegate sendet.APNS-Registrierung und ihr Lebenszyklus

Gemäß meinem Verständnis Apfel Änderungen Gerät Token in bestimmten Szenarien wie OS-Update, Wiederherstellen Backup usw.

ich wenig Verwirrung hier habe - ist das in Ordnung, wenn wir registerForRemoteNotifications() nennen nur einmal? Oder muss ich es nach jedem Start der App aufrufen?

Wenn ich es einmal anrufe und nie unregisterForRemoteNotifications() von app aufrufen, wird App immer Push obwohl Apple Update Device Token erhalten?

+0

Apple-Dokumentation: Aus Sicherheitsgründen und Datenschutzgründen muss es sich ändern, wenn das Gerät gelöscht wird. Das heißt, Sie müssen Ihr Token erneut auf dem Server aktualisieren. –

+0

ja einverstanden aber sagen wir nie registerForRemoteNotifications wird es immer funktionieren? (hier nehme ich an Benutzer hat nicht von der Einstellung deaktiviert) –

+0

registerForRemoteNotifications verwendet, um den Prozess von APNS zu initiieren, wenn Sie es nie seine mittlere APNS nicht einleiten nennen und Sie können Push-Benachrichtigung nicht verwenden –

Antwort

0

Sie berücksichtigen sollten registerForRemoteNotifications in jedem App-Start aufrufen, direkt von Ihrem Delegatmethode:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

So:

if ([[UIApplication sharedApplication] isRegisteredForRemoteNotifications]) { 
    [[UIApplication sharedApplication] registerForRemoteNotifications]; 
} 

Wie diese, werden Sie immer die uptodate Push-Token haben.

Siehe Apple Documentation zu diesem Thema.