2015-05-21 4 views
10

Есть ли способ удалить удаленное уведомление из баннера уведомлений при прокрутке вниз с экрана iPhone. Я попытался установить номер жетона к нулю:Как удалить удаленное уведомление в вашем приложении?

application.applicationIconBadgeNumber = 0 

в делегатом didFinishLaunchingWithOptions и didReceiveRemoteNotification, но не ясно уведомления. Благодарю.

ответ

10

Вам необходимо установить для значка IconBadgeNumber значение 0 и отменить текущие уведомления. Я никогда не делал в быстры, но я думаю, что код это будет как ниже:

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

Использовать cancelAllLocalNotifications? Это удаленное уведомление. Спасибо за комментарии. – Tedha

+0

Ops извините, я смутился с местными уведомлениями, поскольку я обычно использую оба одновременно. – Icaro

+0

Или, может быть, это тоже может помочь http://stackoverflow.com/questions/10971825/remove-remote-notifications-from-notification-center – Icaro

0

Я должен увеличивать, то уменьшать количество жетонов для того, чтобы работать:

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

Swift 3

В вашем AppDelegate.swift файл под didFinishLaunchingWithOptions оных:

application.applicationIconBadgeNumber = 0 

При запуске приложения это удалит значок iOS (красный круг в правом верхнем углу значка приложения).

7

В прошивке 10, выше всех решений амортизируются

'cancelAllLocalNotifications()' осуждались в прошивкой 10.0: Использование UserNotifications Рамочной основе - [UNUserNotificationCenter removeAllPendingNotificationRequests]

Используйте приведенный ниже код, чтобы отменить уведомление и справка Значок числа

Для iOS 10, Swift 3.0

cancelAllLocalNotifications осуждается от прошивки 10.

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

Вы должны добавить оператор импорта,

import UserNotifications 

Get центр уведомления. И выполнить операцию, как показано ниже

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. 

Если вы хотите удалить один или несколько конкретных уведомлений, вы можете достичь его ниже способом.

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

Надеюсь, это поможет .. !!

Смежные вопросы