2013-01-10 10 views
12

Sto usando UILocalNotification nel mio progetto. Sono bloccato con un problema utilizzando il UILocalNotifications. Se pianifico le notifiche per una settimana, elimina l'app e reinstallale senza notifiche pianificate dall'app reinstallata, ricevo le notifiche per le ore programmate in precedenza.Ricevi notifiche locali dopo aver eliminato e reinstallato un'app per iphone

Anche se non ci sono notifiche programmate dall'installazione corrente, ricevo le notifiche. C'è un modo per non pianificare/rimuovere queste notifiche?

risposta

13

In realtà, quando si pianifica una notifica futura, quindi eliminare l'app e quindi reinstallarla nuovamente, in questo caso si riceverà la notifica precedentemente impostata. Che stai ricevendo

Solutions:

Quando si apre l'applicazione poi nel metodo "didFinishLaunchingWithOptions" di AppDelegate, richiamo sottostante metodo.

-(void)removeAllLocalNotification 
{ 
    [[UIApplication sharedApplication] cancelAllLocalNotifications]; 
} 

In tal modo, rimuovere tutte le notifiche impostate in precedenza.

Ma, prima di fare qualcosa di cui sopra: è necessario fare attenzione che, è necessario chiamare il metodo di cui sopra solo una volta. Non tutte le volte che viene lanciato l'app.

Lo si può fare in questo modo:

Creare una variabile BOOL e conservarla in NSUserDefault. Ora, quando l'app è aperta, controlla il suo valore da NSUserDefault. Se è FALSE, chiama il metodo precedente e imposta il suo valore su TRUE e imposta in NSUserDefault.

Ora, quando si riapre l'app, si otterrà il valore come VERO, quindi in questo momento non è necessario chiamare il metodo sopra. In questo modo, la notifica corrente impostata non viene rimossa.

Spero che tu abbia capito tutto.

Happy Coding.

Cheers!

+0

Grazie, ma se non avvio l'app dopo la reinstallazione, ricevo comunque le notifiche. – Nassif

+0

Questo è il comportamento predefinito di Apple. Non puoi gestirlo. –

Problemi correlati