wake-up-neo.com

Wie erhalte ich das Dialogfeld "Push-Benachrichtigungen zulassen", nachdem es einmal abgewiesen wurde?

Ich baue eine App, die stark vom APN abhängig ist. Beim ersten Start meiner App werden Sie gefragt, ob diese App APN verwenden darf (als Ergebnis von registerForRemoteNotificationTypes:-Aufruf). Nach dem Ablegen erscheint dieser Dialog jedoch nie wieder. Ich muss manuell zu Settings->Notifications->MyApp gehen, um dort Dinge zu aktivieren/deaktivieren. Gibt es eine Möglichkeit, diese Hektik zu vermeiden und tatsächlich zu erfahren, was der Benutzer beim ersten Start jedes Mal erlebt, wenn ich meine App im Debug-Modus starte?

42
Schultz9999

Hier ist, wie Apple sagt Sie können es tun:

Zurücksetzen des Push-Benachrichtigungsalarms für iOS

Beim ersten Registrieren einer Push-aktivierten App für Push-Benachrichtigungen, iOS fragt den Benutzer, ob er Benachrichtigungen für diese App erhalten möchte . Sobald der Benutzer auf diese Warnung reagiert hat, wird er nicht mehr angezeigt Es sei denn, das Gerät wird wiederhergestellt oder die App wurde um .__ deinstalliert. mindestens ein Tag.

Wenn Sie eine erstmalige Ausführung Ihrer App simulieren möchten, können Sie .__ verlassen. Die App wurde für einen Tag deinstalliert. Letzteres können Sie ohne .__ erreichen. Warten Sie einen Tag, indem Sie die folgenden Schritte ausführen:

  1. Löschen Sie Ihre App vom Gerät.

  2. Schalten Sie das Gerät vollständig aus und wieder ein.

  3. Gehen Sie zu Einstellungen> Allgemein> Datum und Uhrzeit und legen Sie das Datum einen Tag oder mehr voraus.

  4. Schalten Sie das Gerät wieder vollständig aus und wieder ein.

78
Eran

Da Zeit Geld kostet und die anderen Methoden FOREVER benötigen, ändern Sie einfach Ihre Bundle-ID während des Debuggens. Jedes Mal, wenn Sie Benachrichtigungen erhalten, werden Sie neu gefragt. Wenn Sie mit dem Code zufrieden sind, kehren Sie zur ursprünglichen Paket-ID zurück.

23
Albert Renshaw

Unter iOS 9.x können Sie die Aufforderung jedes Mal erhalten, wenn Sie die App löschen und neu installieren. Dies gilt sowohl für AppStore-Produktions-Downloads als auch für den Adhoc-Modus. Das Gerätetoken ist jedes Mal eindeutig.

@chengsam hat bestätigt, dass dies auch in iOS 10 der Fall ist.

18
Gomfucius

Auf IOS10 kann ich jetzt die Ansage erneut abrufen, indem Sie einfach die App löschen.

6
David Aanis

Derzeit gibt es keine programmatische Möglichkeit, einen Benutzer zur erneuten Annahme von Push-Benachrichtigungen aufzufordern, nachdem er sich entschieden hat, Nein zu sagen.

Sie sollten einfach prüfen, ob Ihnen Zugriff gewährt wurde, und wenn keine Ansicht angezeigt wird, in der der Benutzer daran erinnert wird, manuell die Berechtigung in den Datenschutzeinstellungen zu erteilen, um die Push-Benachrichtigungsfunktionen Ihrer Anwendung zu aktivieren. 

5
Woodstock

Mein Problem war keine Registrierung für UserNotificationSettings. Dadurch konnte der APN funktionieren, nicht jedoch der Hintergrundton oder das Abzeichen.

      [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];
1
buckleyJohnson

Wenn Sie nur testen, dass die Eingabeaufforderung für Push-Benachrichtigungen richtig angezeigt wird, verwenden Sie den Simulator. Sie müssen lediglich die App deinstallieren und erneut installieren. Wenn Sie versuchen, sich für Push-Benachrichtigungen zu registrieren, wird die Aufforderung erneut angezeigt.

1
mofojed