如何删除通知中心中的特定远程通知

时间:2014-12-21 17:02:43

标签: ios apple-push-notifications

我们都知道此方法[UIApplication sharedApplication].applicationIconBadgeNumber = 0;可以从通知中心删除我们的应用程序的所有远程通知。但是,出于某种原因,我想删除用户点击通知中心的那个,并保留其他通知中心。

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:4)

如果您只是想从徽章编号中删除一个号码:

[UIApplication sharedApplication].applicationIconBadgeNumber = MAX([UIApplication sharedApplication].applicationIconBadgeNumber - 1, 0);

如果您要询问如何以编程方式从通知中心删除单个通知,则无法在代码中完成。显然在iOS8中,当用户点击它时,操作系统将删除单个通知。否则你无法处理它。

请参阅:https://stackoverflow.com/a/10569847/620577

答案 1 :(得分:1)

随着iOS 10及更高版本的UNUserNotificationCenter的推出,现在可以删除您的应用的几个或所有远程通知。

  

UNUserNotificationCenter documentation

使用此类的共享单例实例,可以在设备上管理传递的远程通知。具体而言,可以使用以下方法: func removeDeliveredNotifications(withIdentifiers: [String])如果您要删除应用的特定通知,或func removeAllDeliveredNotifications()删除应用的所有通知。