2013-01-10 97 views
12

我在我的項目中使用UILocalNotification。我遇到了使用UILocalNotifications的問題。如果我安排了一週通知,請刪除應用程序並重新安裝,而沒有從重新安裝的應用程序安排通知,我會收到針對之前安排的時間的通知。刪除並重新安裝iphone應用程序後接收本地通知

即使沒有安裝來自當前安裝的通知,我也會收到通知。有沒有辦法來排除/刪除這些通知?

回答

13

實際上,當您安排將來的通知時,然後刪除應用程序,然後重新安裝它,在這種情況下,您將收到以前設置的通知。你正在得到什麼。

解決方案:

當您在AppDelegate中的「didFinishLaunchingWithOptions」方法打開應用程序,然後,撥打以下方法。

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

因此,您將刪除先前設置的所有通知。

但是,在做上述事情之前:您需要注意,您必須只調用一次上述方法。不是每次應用程序啓動時。

你可以做到這一點在以下方式:

創建一個布爾變量並將其存儲在NSUserDefault。現在,當應用程序打開,然後從NSUserDefault中檢查它的值。如果它是FALSE,則調用上述方法並將其值設置爲TRUE並設置爲NSUserDefault。

現在,當您重新打開應用程序時,您會將其值設爲TRUE,因此此時不需要調用上述方法。因此,您當前的設置通知不會被刪除。

希望你得到了全部的東西。

快樂編碼。

乾杯!

+0

謝謝,但如果我不重新安裝後啓動應用程序,我仍然收到通知。 – Nassif

+0

這是蘋果的默認行爲。你無法管理它。 –

相關問題