以编程方式从通知中心删除远程通知

时间:2017-05-12 10:36:21

标签: ios objective-c cocoa-touch apple-push-notifications ios10

我们如何从通知中心实际删除为我的应用发送的任何待处理远程通知。我想在应用程序启动时清除它们。

我尝试使用[[UIApplication sharedApplication] cancelAllLocalNotifications]; API,但没有帮助。

PS:这个问题特定于iOS 10,旧线程不是重复的。

4 个答案:

答案 0 :(得分:10)

...最后

这个就像魅力一样!

[[UNUserNotificationCenter currentNotificationCenter] removeAllDeliveredNotifications];

答案 1 :(得分:0)

AFAIK,您应该使用后台模式进行远程通知,然后通过发出本地通知来响应这些通知。 您可以删除本地通知,但不能删除远程通知。

答案 2 :(得分:0)

重新设置应用程序徽章编号还会从通知中心删除所有通知(本地和远程)。

目标C

[UIApplication sharedApplication].applicationIconBadgeNumber = 0;

Swift

UIApplication.shared.applicationIconBadgeNumber = 0

答案 3 :(得分:0)

通过使用UserNotifications.framework中可用的removeDeliveredNotifications(withIdentifiers :)方法,绝对可以实现此目标。

有关详细教程,请遵循

https://medium.com/@sebastianosiski/implementing-removable-remote-notifications-on-ios-a17d74832bde