我们都知道此方法[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
可以从通知中心删除我们的应用程序的所有远程通知。但是,出于某种原因,我想删除用户点击通知中心的那个,并保留其他通知中心。
有没有办法做到这一点?
答案 0 :(得分:4)
如果您只是想从徽章编号中删除一个号码:
[UIApplication sharedApplication].applicationIconBadgeNumber = MAX([UIApplication sharedApplication].applicationIconBadgeNumber - 1, 0);
如果您要询问如何以编程方式从通知中心删除单个通知,则无法在代码中完成。显然在iOS8中,当用户点击它时,操作系统将删除单个通知。否则你无法处理它。
答案 1 :(得分:1)
随着iOS 10及更高版本的UNUserNotificationCenter
的推出,现在可以删除您的应用的几个或所有远程通知。
使用此类的共享单例实例,可以在设备上管理传递的远程通知。具体而言,可以使用以下方法:
func removeDeliveredNotifications(withIdentifiers: [String])
如果您要删除应用的特定通知,或func removeAllDeliveredNotifications()
删除应用的所有通知。