2015-05-21 6 views
10

Gibt es eine Möglichkeit, die Remote-Benachrichtigung vom Benachrichtigungsbanner zu löschen, wenn Sie vom oberen Rand des iPhone-Bildschirms nach unten wischen. Ich versuchte, die Ausweisnummer auf Null setzen:So löschen Sie die Remote-Benachrichtigung in Ihrer App?

application.applicationIconBadgeNumber = 0 

in Delegaten didFinishLaunchingWithOptions und didReceiveRemoteNotification, aber es hat nicht klar, die Benachrichtigungen. Vielen Dank.

Antwort

10

Sie müssen die IconBadgeNumber auf 0 setzen und die aktuellen Benachrichtigungen abbrechen. Ich habe nie in schnellen, aber ich denke, den Code für sie als Gebrüll sein würde:

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

Verwenden Sie cancelAllLocalNotifications? Dies ist eine Remote-Benachrichtigung. Danke für die Kommentare. – Tedha

+0

Ops tut mir leid, ich habe mit den lokalen Benachrichtigungen verwirrt, wie ich normalerweise beide gleichzeitig benutze. – Icaro

+0

Oder vielleicht kann dies auch helfen http://stackoverflow.com/questions/10971825/remove-remote-notifications-from-notification-center – Icaro

0

ich dann um Abzeichen Zahl erhöht haben zu verringern, damit es funktioniert:

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

Swift 3

In Ihren AppDelegate.swift Datei unter didFinishLaunchingWithOptions add:

application.applicationIconBadgeNumber = 0 

Beim Start Ihrer App wird das iOS-Logo entfernt (roter Kreis in der oberen rechten Ecke des App-Symbols).

7

In iOS 10 werden vor allem Lösungen

'cancelAllLocalNotifications()' in iOS 10.0 veraltet wurde abgeschrieben: Verwenden UserNotifications Framework - [UNUserNotificationCenter removeAllPendingNotificationRequests]

Verwenden Sie den Code unten abbrechen Benachrichtigung und Reset-Abzeichen

Für iOS 10, zählen Swift 3,0

cancelAllLocalNotifications von iOS 10.

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

Sie müssen diesen Import-Anweisung hinzufügen,

import UserNotifications 

Get Notification Center veraltet. Und führen Sie den Vorgang wie unter

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. 

Wenn Sie einzelne oder mehrere bestimmte Benachrichtigungen zu entfernen, können Sie es nach unten Methode erreichen können.

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

Hoffe es hilft .. !!

Verwandte Themen