2011-11-12 16 views
6

Desidero rispettare l'intento dei miei utenti e non chiamare [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(...)] se hanno disattivato le notifiche remote per la mia app.iOS5: come determinare se il Centro di notifica per l'app è ATTIVATO/DISATTIVATO

Quando si chiama UIRemoteNotificationType enabledTypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes], ottengo le informazioni su quali tipi di notifiche sono abilitate per la mia app. Tuttavia, il Centro di notifica per questa app può essere disattivato e ricevo comunque il tipo di notifica abilitato in precedenza da questo metodo finché non seleziono "Nessuno".

Così la mia app pensa che le notifiche siano abilitate anche quando non lo sono.

C'è un modo per scoprire in modo programmatico lo stato del Centro di notifica per la mia app? (ACCESO SPENTO).

+0

Se le notifiche sono disattivate e ci si registra, si ottiene '-application: didRegisterForRemoteNotificationsWithDeviceToken:' o '-application: didFailToRegisterForRemoteNotificationsWithError:'? Non mi sorprenderebbe se quest'ultimo fosse invocato. –

+1

Per me solo il primo metodo viene eseguito quando l'impostazione del centro di notifica è attivata o disattivata. Ma la domanda è come dire a cosa serve da quel metodo. –

+0

Chiamare '[[UIApplication sharedApplication] registerForRemoteNotificationTypes: (...)]' non farà nulla che l'utente possa vedere se le notifiche per la tua app sono disattivate in Impostazioni, perché non vuoi chiamarlo ogni volta? –

risposta

9

Non confondere "nel centro notifiche" con "notifiche push attivate". Posso rimuovere un'app dal centro notifiche ma continuare a ricevere notifiche push sotto forma di numeri di badge, quindi il tuo vecchio metodo dovrebbe funzionare correttamente.

+0

Ciò è utile ma esiste un modo per verificare se l'applicazione si trova nel centro di notifica in modo pragmatico? –

+0

Non credo che ci sia un modo per dire quali sono le impostazioni di notifica dell'utente per la tua app oltre i metodi di delega dell'app da registrare e non registrare per le notifiche remote. –

Problemi correlati