2015-05-21 7 views
10

Czy istnieje sposób, aby wyczyścić zdalne powiadomienia z banera powiadomień, przesuwając palcem w dół z górnej części ekranu iPhone'a. Próbowałem ustawienie numer karty identyfikacyjnej do zera:Jak wyczyścić zdalne powiadomienia w aplikacji?

application.applicationIconBadgeNumber = 0 

w delegata didFinishLaunchingWithOptions i didReceiveRemoteNotification, ale nie usunąć powiadomień. Dzięki.

Odpowiedz

10

Musisz ustawić IconBadgeNumber na 0 i anulować bieżące powiadomienia. Nigdy nie było w szybki, ale myślę, że kod byłoby jak poniżej:

application.applicationIconBadgeNumber = 0 
application.cancelAllLocalNotifications() 
+0

Użyj cancelAllLocalNotifications? To jest zdalne powiadomienie. Dzięki za komentarze. – Tedha

+0

Ops Przepraszam, że pomyliłem się z powiadomieniami lokalnymi, ponieważ normalnie używam ich jednocześnie. – Icaro

+0

A może to pomoże zbyt http://stackoverflow.com/questions/10971825/remove-remote-notifications-from-notification-center – Icaro

0

muszę zwiększyć następnie zmniejszyć liczbę identyfikatorów w celu użycia go do pracy:

application.applicationIconBadgeNumber = 1 
application.applicationIconBadgeNumber = 0 
application.cancelAllLocalNotifications() 
1

Swift 3

W swojej AppDelegate.swift plik pod didFinishLaunchingWithOptions dodatku:

application.applicationIconBadgeNumber = 0 

Po uruchomieniu aplikacji zostanie usunięta plakietka iOS (czerwone kółko w prawym górnym rogu ikony aplikacji).

7

w IOS 10, przede wszystkim roztwory amortyzuje

"cancelAllLocalNotifications() została zaniechana w iOS 10,0: Use UserNotifications Framework - [UNUserNotificationCenter removeAllPendingNotificationRequests]

użytkowania poniżej kodu zrezygnować powiadomienie i resetowanie Liczba znaczków

Dla systemu iOS 10, Swift 3.0

cancelAllLocalNotifications przestarzałe z iOS 10.

@available(iOS, introduced: 4.0, deprecated: 10.0, message: "Use UserNotifications Framework's -[UNUserNotificationCenter removeAllPendingNotificationRequests]") 
open func cancelAllLocalNotifications() 

Trzeba będzie dodać tę instrukcję import,

import UserNotifications 

Get centrum powiadomień. I wykonać operację jak poniżej

application.applicationIconBadgeNumber = 0 // For Clear Badge Counts 
let center = UNUserNotificationCenter.current() 
center.removeAllDeliveredNotifications() // To remove all delivered notifications 
center.removeAllPendingNotificationRequests() // To remove all pending notifications which are not delivered yet but scheduled. 

Jeśli chcesz usunąć jednego lub wielu konkretnych powiadomień, można to osiągnąć przez poniżej metody.

center.removeDeliveredNotifications(withIdentifiers: ["your notification identifier"]) 

Mam nadzieję, że pomoże .. !!

Powiązane problemy