Brak delegata. Należy okresowo sprawdzać właściwość UIApplication
: enabledRemoteNotificationTypes
, na przykład w applicationDidBecomeActive:
.
Szczegółowe sprawdzić te odpowiedzi:
Determine on iPhone if user has enabled push notifications
View In Lock Screen and enabledRemoteNotificationTypes - iOS5
Edit:
Jeśli trzeba zresetować ustawienia powiadomień Push i alert uprawnień, spojrzeć na Apple technical note TN2265 . W sekcji "Resetowanie powiadomienia o powiadomieniach Push Push na iOS" wyjaśniono, jak zresetować ustawienia w systemie iOS. Jednak wielu programistów skarży się, że procedura nie działa. Nie jestem pewien, czy zadziała this link, będziesz musiał mieć dostęp do forum Apple, ale jest to jeden z wątków na ten temat.
Zastanawiam się, czy może Apple usunęło okno dialogowe uprawnień w iOS 5.1. W przeciwnym razie, dlaczego mieliby wymagać od aplikacji wyświetlenia alertu? Według AppStore review guidelines:
5.3 aplikacje, które wysyłają powiadomienia push bez uprzedniego uzyskania zgody użytkownika zostanie odrzucone
Na przykład ścieżka (aplikacji) prosi użytkownika o opt-in do powiadomienia Push w środku sing-up proces, a nie kiedy aplikacja uruchamia się po raz pierwszy.
Nie wiadomo, jaki powinien być cel tego monitu, ponieważ aplikacja nie może wysłać zapytania o stan ustawienia powiadomienia. W szczególności aplikacja może sprawdzić, które typy powiadomień (przy użyciu enabledRemoteNotificationTypes
) są włączone, ale NIE, jeśli powiadomienia push dla określonej aplikacji są włączone lub wyłączone (przełącznik ON/OFF centrali powiadomień u góry). Przynajmniej takie jest zachowanie w iOS 5.1. Nawet jeśli użytkownik wyłączy powiadomienia dla tej aplikacji, aplikacja może nadal rejestrować powiadomienia push (przy użyciu registerForRemoteNotificationTypes
) i BĘDZIE otrzymywać token APNS.
dzięki :) czy wiesz, co mam zrobić, aby uzyskać okienko pop "Pozwól wypychać tę aplikację", które użytkownik uzyskuje po pierwszym uruchomieniu aplikacji? Potrzebuję go do debugowania różnych scenariuszy, próbowałem usunąć aplikację i zainstalować ją ponownie, ale nie dostałem pop boxa ... – Eyal
Edytowałem odpowiedź, aby dołączyć kilka linków, które mogą się przydać. Jednak wielu programistów skarży się, że procedura opisana przez Apple nie działa. Nigdy nie widziałem okna dialogowego uprawnień podczas tworzenia aplikacji, więc nawet nie wiedziałem, że istnieje, dopóki nie przeczytam kilku postów od innych programistów. – Amiramix
Ostatnia część nie jest prawdą, przynajmniej na iOS 7, enabledRemoteNotificationTypes jest tylko dla twojej aplikacji i jeśli użytkownik ustawi powiadomienia na none, nie otrzymasz znacznika APNs. – jcesarmobile