2011-10-06 13 views
5

Po pierwszym wywołaniu registerForRemoteNotificationTypes: na obiekcie UIApplication pojawia się a UIAlertView z informacją "[aplikacja] chce wysłać Ci powiadomienia push".Zgłoszenie odpowiedzi na wiadomość "Aplikacja chce wysyłać ci powiadomienia"

Czy istnieje sposób sprawdzenia, czy w tym AlertView wybrano "OK" lub "Nie zezwalaj"?

Obecnie jest wywoływana na moim AppDelegate, nawet zanim użytkownik podejmie decyzję.

Powód, dla którego pytam, jest następujący: po pierwszym uruchomieniu chcę wypchnąć opcje ViewController z Notification, ale tylko wtedy, gdy użytkownik zaznaczy, że chce otrzymywać powiadomienia.

Odpowiedz

3

Można użyć następną metodę UIApplication:

Zwraca rodzaje powiadomień aplikacja akceptuje.

- (UIRemoteNotificationType)enabledRemoteNotificationTypes 

Na przykład

UIRemoteNotificationType status = [[UIApplication sharedApplication] enabledRemoteNotificationTypes]; 
if (status == UIRemoteNotificationTypeNone) 
{ 
    NSLog(@"user is not subscribed to receive push notifications"); 
} 
+3

Dzięki, ale faktycznie problem mam jest to, że 'zastosowanie: didRegisterForRemoteNotificationsWithDeviceToken:' nazywa się nawet przed wybierz "Nie zezwalaj" lub „OK "w AlertView. Tak, w tej chwili 'enabledRemoteNotificationTypes' jest zawsze' UIRemoteNotificationNone'. Myślę, że będę musiał ponownie wywołać 'registerForRemoteNotificationTypes:' ponownie, gdy ten wybór zostanie wykonany. – vtim

Powiązane problemy