清除applicationIconBadgeNumber但不清除iOS公告板中的通知

时间:2017-12-15 04:49:46

标签: ios objective-c push-notification uilocalnotification

我想清除applicationIconBadgeNumber并将通知保留在iOS 8~11的通知中心。 我已经尝试了applicationDidBecomeActive

中的代码
UILocalNotification *notif = [[UILocalNotification alloc] init];
notif.applicationIconBadgeNumber = -1;
[[UIApplication sharedApplication] scheduleLocalNotification:notif];

它起初工作,但是当我尝试更多次时,我可以收到UILocalNotification但可以t change the applicationIconBadgeNumber`。

是否有其他解决方案或我的用法是错误的?

1 个答案:

答案 0 :(得分:0)

使用

代替您的代码
if (@available(iOS 9, *)) {
    // iOS 9 (or newer) 
    [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
} else {
    // iOS 8
    [UIApplication sharedApplication].applicationIconBadgeNumber = -1;

}

清除应用图标徽章。这不会清除通知,但计数器将在应用程序图标上变为零。

您可以编写此代码以清除

中的计数
- (void)applicationWillEnterForeground:(UIApplication *)application

- (void)applicationDidBecomeActive:(UIApplication *)application