2011-10-06 17 views
5

La prima volta che si chiama registerForRemoteNotificationTypes: sull'oggetto UIApplication, a UIAlertView si apre dicendo "[app] desidera inviare notifiche push".Cattura risposta a "App vorrebbe inviare notifiche push" avviso

C'è un modo per sapere quando "OK" o "Non consentire" viene toccato in questo AlertView?

Attualmente application:didRegisterForRemoteNotificationsWithDeviceToken: viene chiamato sul mio AppDelegate, anche prima che un utente prenda una decisione.

Il motivo per cui lo chiedo è perché al primo avvio, voglio spingere un ViewController con le opzioni Notification, ma solo se l'utente ha indicato che desidera ricevere le notifiche.

risposta

3

È possibile utilizzare metodo successivo di UIApplication:

restituisce i tipi di notifiche dell'applicazione accetta.

- (UIRemoteNotificationType)enabledRemoteNotificationTypes 

Per esempio,

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

Grazie, ma in realtà il problema che sto avendo è che 'applicazione: didRegisterForRemoteNotificationsWithDeviceToken:' si chiama ancora prima di toccare "Non consentire" o "OK "in AlertView. Quindi, in questo momento 'enabledRemoteNotificationTypes' è sempre' UIRemoteNotificationNone'. Penso che dovrei chiamare 'registerForRemoteNotificationTypes:' di nuovo quando viene effettuata quella selezione. – vtim