Wenn ich zu den Einstellungen gehe, um die Benachrichtigungen vollständig zu deaktivieren und dann in die App zurückzukehren, druckt die App weiterhin true
, erlaubt.
Ich kann nicht scheinen, dass es false auslöst, selbst nachdem eine App deinstalliert / neu installiert wurde.
Gemäß der Apple-Dokumentation isRegisteredForRemoteNotifications
gibt NO
zurück, wenn die Registrierung nicht stattgefunden hat, fehlgeschlagen ist oder vom Benutzer abgelehnt wurde. YES
wird zurückgegeben, wenn sich die App für Remote-Benachrichtigungen registriert und ein Geräte-Token erhalten hat. Also in Antwort auf Ihre Frage NEIN wird es nicht immer Nein zurückgeben, es wird auch ja zurückkommen, wenn eine App sich für Remote-Benachrichtigungen registriert hat und es Geräte-Token erhalten hat.
Zurück Wert YES, wenn die App für Remote-Benachrichtigungen registriert ist und erhalten sein Gerät Token oder NO, wenn die Registrierung nicht aufgetreten ist, hat fehlgeschlagen oder wurde vom Benutzer abgelehnt.
Diskussion Diese Methode spiegelt nur den erfolgreichen Abschluss der Fernregistrierungsprozess, der beginnt, wenn Sie den registerForRemoteNotifications-Methode. Diese Methode spiegelt nicht wider ob Remote-Benachrichtigungen tatsächlich verfügbar sind Verbindungsprobleme. Der von dieser Methode zurückgegebene Wert wird übernommen Benutzereinstellungen für den Empfang von Remote-Benachrichtigungen berücksichtigen.
Der obige Punkt kehrt in das Apple-Dokument zurück.
----- EDITED ----------
Sie können die Berechtigungen Ihrer App mit
lesen %Vor% Dann führen Sie eine beliebige Operation mit den verschiedenen Typen durch, um zu sehen, welche aktiviert sind. Sie können auch unregisterForRemoteNotifications
aufrufen, um Benachrichtigungen zu deaktivieren.
----- Änderungen ------
- isRegisteredForRemoteNotifications
Gibt einen booleschen Wert zurück, der angibt, ob die App gerade registriert ist für Remote-Benachrichtigungen.
Deklaration SWIFT
func isRegisteredForRemoteNotifications() -> Bool
ZIEL-C
- (BOOL)isRegisteredForRemoteNotifications
Rückgabewert YES, wenn die App für Remote-Benachrichtigungen registriert ist und erhalten sein Gerät Token oder NO, wenn die Registrierung nicht aufgetreten ist, hat fehlgeschlagen oder wurde vom Benutzer abgelehnt.
Diskussion Diese Methode spiegelt nur den erfolgreichen Abschluss der Fernregistrierungsprozess, der beginnt, wenn Sie den registerForRemoteNotifications-Methode. Diese Methode spiegelt nicht wider ob Remote-Benachrichtigungen tatsächlich verfügbar sind Verbindungsprobleme. Der von dieser Methode zurückgegebene Wert wird übernommen Benutzereinstellungen für den Empfang von Remote-Benachrichtigungen berücksichtigen.
Ich habe meine Notizen zur Push-Benachrichtigung in Ссылка
Szenarien
Dies sind die Szenarien, die Sie durchgehen können
isRegisteredForRemoteNotifications
- UIApplication.shared.currentUserNotificationSettings
iOS 9.3.2 +
API
Ab iOS 8+ wurde die Push-Benachrichtigungs-API in registerForRemoteNotifications
und registerUserNotificationSettings
aufgeteilt.
Also, wenn Sie registerForRemoteNotifications
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
heißt UIApplication.shared.isRegisteredForRemoteNotifications
gibt wahr Dies bedeutet, dass die App das Push-Token erhalten hat und bereit ist, Push-Benachrichtigungen zu erhalten. Ob das Betriebssystem Push an Ihre App liefert, hängt von user notification settings
ab, was der Benutzer in Settings
Tags und Links objective-c ios swift