2010-09-19 62 views
3

我正在處理一個應用程序,我必須多次更新應用程序圖標中顯示的徽章。但是,我注意到的是,setApplicationIconBadgeNumber API在應用程序的生命週期中僅適用一次。我嘗試使用UILocalNotification,然後它可以工作,但我不想遵循該路線。你們有沒有遇到類似的問題?如果是的話,任何指針?setApplicationIconBadgeNumber被多次調用時不會更新徽章

問候 尼廷

回答

1

這是iOS中的錯誤。它今天仍然存在於6.0.1中,我只是通過解決方法將其修復:

// Clear app badge number. Work-around for bug in iOS. 
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:1]; 
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 
+0

不過與iOS 7.1.1繼續 – itechnician 2014-06-02 13:33:23

0

問題可能來自您在哪裏調用它?

錯誤:

// This is only called once during application lifecycle 
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 
} 

正確:

- (void)applicationWillEnterForeground:(UIApplication *)application { 
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 
}