2

Comment pouvons-nous supprimer de manière pragmatique toutes les notifications distantes en attente envoyées pour mon application par le centre de notifications? Je veux les effacer lors du lancement de l'application.Suppression par programme des notifications à distance du centre de notifications

J'ai essayé avec l'API [[UIApplication sharedApplication] cancelAllLocalNotifications]; mais cela n'aide pas. PS: Cette question est spécifique à iOS 10 et les anciens threads ne sont pas des doublons pour celui-ci.

+0

double possible de [Supprimer simple notification à distance du centre de notification] (http://stackoverflow.com/questions/9925854/remove -single-remote-notification-from-notification-center) –

+0

@SargisGevorgyan Ceci ne peut pas être marqué comme doublon car le lien partagé parle de la solution non-iOS 10. iOS 10 le gère d'une manière différente! – Abhinav

Répondre

4

Enfin ...

Celui-ci fonctionne comme le charme!

[[UNUserNotificationCenter currentNotificationCenter] removeAllDeliveredNotifications]; 
0

Vous pouvez effacer toutes les notifications du centre de notification en utilisant ces simples lignes de code

[[UIApplication sharedApplication] setApplicationIconBadgeNumber: 1]; 
[[UIApplication sharedApplication] setApplicationIconBadgeNumber: 0]; 
[[UIApplication sharedApplication] cancelAllLocalNotifications]; 

utilisation chaque fois que vous voulez. De mon côté, j'ai utilisé lorsque l'utilisateur a appuyé sur la déconnexion. Vous pouvez utiliser dans

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
méthode

pour effacer les notifications après l'application ouvre

+0

Je l'avais déjà essayé et ça n'aide pas. Je parle de notifications à distance ici. Peut être que je devrais éditer ma question. – Abhinav

+0

la ligne [UIApplication sharedApplication] .applicationIconBadgeNumber = 0; va également effacer les notifications push – Himanth

+0

Ce n'est pas vrai! – Abhinav

0

AFAIK, vous devriez le faire en utilisant le mode d'arrière-plan pour les notifications à distance, puis répondre à ces notifications en publiant une notification locale. Vous pouvez supprimer des notifications locales, mais pas des notifications à distance.

+0

Merci pour votre réponse. Pourriez-vous me diriger vers une documentation confirmant que les notifications à distance ne peuvent pas être retirées du centre de notifications? Je trouve plusieurs versions en ligne. – Abhinav

+0

Impossible de trouver le document officiel pour le moment, mais vous pouvez jeter un oeil ici pour le moment: http://stackoverflow.com/questions/24231120/remove-remote-notification-from-notification-center –

+0

C'est possible. Découvrez ma réponse. – Abhinav

0

le numéro de La réinitialisation badge demande également supprimer toutes les notifications (à distance locale &) du centre de notification.

Objectif C

[UIApplication sharedApplication].applicationIconBadgeNumber = 0; 

Swift

UIApplication.shared.applicationIconBadgeNumber = 0 
+0

Existe-t-il un moyen de réinitialiser le nombre de badges SANS supprimer toutes les notifications? – fabb