2012-03-31 16 views
5

Witaj Gdy aplikacja zostanie zainstalowana, prosi użytkownika o zgodę na wysyłanie powiadomień push. Testuję swoją aplikację. Ale po usunięciu go z urządzenia, a następnie zainstalowaniu, nie prosi o pozwolenie. Jak usunąć te ustawienia, aby ponownie poprosić o pozwolenie?Jak wyczyścić preferencje powiadomień push systemu iOS dla mojej aplikacji?

Potrzebuję go do testowania powiadomień push serwera.

+1

Zobacz [moja odpowiedź] (http://stackoverflow.com/questions/6780795/reset-push-notification-settings-for-alert/10207040#10207040) na podobne pytanie i więcej na temat tego problemu w [ inna odpowiedź] (http://stackoverflow.com/questions/10191006/objective-c-detect-when-user-change-the-apps-notifications-settings). W skrócie jest procedura opisana przez Apple w [uwaga techniczna TN2265] (http://developer.apple.com/library/ios/#technotes/tn2265/_index.html), ale wygląda na to, że nie zawsze działa. – Amiramix

+0

Przyjęta odpowiedź na to pytanie jest nieaktualna. Zobacz moją odpowiedź poniżej, działa za każdym razem dla mnie. –

+0

możliwy duplikat [Ustawienia resetowania powiadomień push dla aplikacji] (http://stackoverflow.com/questions/2438400/reset-push-notification-settings-for-app) – BergQuester

Odpowiedz

4

Okno dialogowe zezwalania na powiadomienie push systemu iOS pojawia się jeden raz co 24 godziny .. a więc wszystko, czego potrzebujesz, aby ręcznie zmodyfikować datę urządzenia i ustawić ją na 1 dzień po dacie pojawienia się tego okna dialogowego.

+0

Używam easyApns https://github.com/manifestinteractive/easyapns Istnieje tabela, w której są trzy pola: pushbadge, pushalert, pushsound Testowanie na jednym telefonie, kliknąłem "Allow", ale prośba przyszedł do stołu nagrany wszystkie niepełnosprawne, więc wziąłem test po raz drugi. – EndyVelvet

+0

Nie działa już – jjxtra

-1

Przeczytałem raz, że należy całkowicie usunąć aplikację z urządzenia i odczekać 24 godziny, a następnie ponownie ją zainstalować (zalecane jest również wyłączenie urządzenia), w ten sposób ponownie poprosi o uprawnienia, ale nigdy próbowałem tego. W każdym razie nie sądzę, że musisz ponownie uzyskać te uprawnienia, dlaczego tego potrzebujesz?

5

Spróbuj użyć metody UIApplication o nazwie - (void)unregisterForRemoteNotifications .

+0

To nie działa dla mnie; wszystkie metody i metody delegatów są wywoływane, ale nadal nie jest wyświetlany monit o ponowną rejestrację powiadomień Push. Testowanie na iOS 7. – toblerpwn

-1

Jak powiedział J S Rodrigues, można wyrejestrować urządzenie w dowolnym momencie. Jednak nie jestem pewien, dlaczego próbowałeś jeszcze raz poprosić o pozwolenie. Jeśli używasz APN na własnym serwerze, to po zarejestrowaniu urządzenia, token urządzenia z aplikacji - (void): (UIApplication *) didRegisterForRemoteNotificationsWithDeviceToken: (NSData *) metoda deviceToken powinna zostać opublikowana w twoim systemie APN, raz i dla wszystkich. Jeśli więc próbowałeś przetestować, czy token urządzenia mógł zostać wysłany do twojego własnego systemu, może być potrzebna metoda wyrejestrowania. W przeciwnym razie nie jest to konieczne, ponieważ token jest zapisywany w systemie, możesz go po prostu usunąć. I co drugi raz aplikacja jest uruchamiana, nowy rekord zostanie dodany do systemu APN.

0

Działając na iOS 6.0, podejście "usuń i czekaj 24 godziny" nie działa dla mnie. Wyrejestrowanie/przywrócenie tokena urządzenia również nie działa, co wydaje się być błędem ze strony Apple. The technical note firmy Apple została ostatnio zaktualizowana w wrześniu 2011 r. I jest nieaktualna.

Mogłem ponownie aktywować alert uprawnień, całkowicie resetując urządzenie. To dość trudny test, ale działa.

Niestety, nie ma sposobu, aby poprosić użytkowników, aby to zrobili, jeśli zmienią zdanie na temat otrzymywania powiadomień push z aplikacji, więc upewnij się, że prosisz o pozwolenie w najlepszym możliwym momencie.

1

To właśnie pracował dla mnie w iOS7:

  • Usuwanie aplikacji z urządzenia.

  • Wyłącz urządzenie całkowicie i włącz je ponownie.

  • Przejdź do Ustawienia> Ogólne> Data & Czas i ustaw datę z góry na dzień lub więcej.

  • Wyłącz urządzenie ponownie i włącz je ponownie.

  • Ponowne zainstalowanie aplikacji

5

Można zobaczyć jak tutaj: https://developer.apple.com/library/mac/technotes/tn2265/_index.html jak poniżej.

Resetowanie powiadomienia o powiadomieniach push w systemie iOS Po pierwszym zarejestrowaniu przez aplikację obsługującą funkcję push powiadomień wypychanych system iOS pyta użytkownika, czy chce otrzymywać powiadomienia o tej aplikacji. Gdy użytkownik zareaguje na ten alert, nie zostanie ponownie zaprezentowany, dopóki urządzenie nie zostanie przywrócone lub aplikacja zostanie odinstalowana co najmniej jeden dzień.

Jeśli chcesz symulować uruchomienie aplikacji po raz pierwszy, możesz odinstalować aplikację na jeden dzień. Możesz to osiągnąć bez czekania na jeden dzień, wykonując następujące czynności:

Usuń swoją aplikację z urządzenia. Wyłącz urządzenie całkowicie i włącz ponownie. Przejdź do Ustawienia> Ogólne> Data & Czas i ustaw datę z góry na dzień lub więcej. Ponownie wyłącz urządzenie i włącz ponownie.

+1

To jest dość przyjazne dla programisty. –

Powiązane problemy