2011-11-09 64 views
0

我一直在我的iPad應用程序&中使用UILocalNotification,直到最近它一直工作。UILocalNotification不再工作?

無論我嘗試什麼,我都無法生成任何通知。這是我的最後一次嘗試:

-(void)applicationDidBecomeActive:(UIApplication *)application{ 
    UILocalNotification *localNotification = [[UILocalNotification alloc] init]; 
    NSDate *date = [NSDate date]; 
    NSDate *dateToFire = [date dateByAddingTimeInterval:300]; // 5 minutes 
    [localNotification setFireDate:dateToFire]; 
    [localNotification setTimeZone:[NSTimeZone defaultTimeZone]]; 
    [localNotification setAlertBody:@"Incoming Local Notification" ]; 
    [localNotification setAlertAction:@"Open App"]; 
    [localNotification setSoundName:UILocalNotificationDefaultSoundName];    
    [[UIApplication sharedApplication] scheduleLocalNotification:localNotification]; 
    [localNotification release]; 
    } 

我的iPad設置爲Auto-Lock = 2分鐘。

考慮到上面的代碼,5分鐘後不應該有通知嗎?

回答

4

是的,應該工作。請記住,如果您的應用程序當前處於打開狀態,則不會顯示本地通知(以及推送通知)。

如果你的程序是開放的,你需要尋找在應用程序委託的

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification 

電話。

+0

「打開」你的意思是iPad沒有自動鎖定和應用程序正在運行?因爲這就是我測試它的方式:將通知設置爲未來5分鐘。 iPad在2分鐘後自動鎖定。 – DeepSeaFish

+0

如果您希望在應用程序打開時顯示警報,您可以在此攔截本地通知並顯示警報視圖。當我的應用程序未打開時, –

+0

didReceiveLocalNotification可以正常工作。但上面貼出的代碼不起作用。我不明白。還有一件事我很想知道:當記錄財產時,過去是一小時。 – DeepSeaFish

0

看起來,當從iOS4升級到5時,Apple會禁用已經安裝在4下的應用程序的通知。如果轉到設置 - >通知,您可以重新啓用它們。解決了這個問題。