【发布时间】:2014-12-21 17:02:43
【问题描述】:
我们都知道[UIApplication sharedApplication].applicationIconBadgeNumber = 0;这个方法可以从通知中心删除我们应用程序的所有远程通知。但是,出于某种原因,我想删除用户在通知中心点击的那个,而留下其他的。
有什么方法可以做到吗?
【问题讨论】:
标签: ios apple-push-notifications
我们都知道[UIApplication sharedApplication].applicationIconBadgeNumber = 0;这个方法可以从通知中心删除我们应用程序的所有远程通知。但是,出于某种原因,我想删除用户在通知中心点击的那个,而留下其他的。
有什么方法可以做到吗?
【问题讨论】:
标签: ios apple-push-notifications
随着 iOS 10 及更高版本的 UNUserNotificationCenter 的引入,现在可以删除应用程序的少数或全部远程通知。
使用此类的共享单例实例,可以在设备上管理传递的远程通知。具体来说,可以使用以下方法:
func removeDeliveredNotifications(withIdentifiers: [String])如果你想删除你的应用的特定通知,或者func removeAllDeliveredNotifications()删除你应用的所有通知。
【讨论】:
如果您只是想从徽章号码中删除一个号码:
[UIApplication sharedApplication].applicationIconBadgeNumber = MAX([UIApplication sharedApplication].applicationIconBadgeNumber - 1, 0);
如果您询问如何以编程方式从通知中心删除单个通知,则无法在代码中完成。显然,在 iOS8 中,当用户点击它时,操作系统会删除一个通知。否则无法由您处理。
【讨论】: