Eliminar notificaciones remotas individuales del Centro de notificaciones

mi aplicación recibe notificaciones remotas del servidor de Apple.

¿Hay alguna forma de eliminar una sola notificación remota del centro de notificaciones (el menú desplegable disponible en iOs 5.0+) cuando el usuario pulsa en ella?

enter image description here

¡Gracias!

No hay forma de eliminar una notificación específica a partir de iOS SDK 5.0. La manera de eliminar todas las notificaciones de su aplicación para que no se muestren en el Centro de notificaciones cuando el usuario abre la aplicación desde una de ellas, es establecer la insignia de la aplicación en 0, como esta:

[UIApplication sharedApplication].applicationIconBadgeNumber = 0; 

EDITAR: en iOS 8, SpringBoard parece descartar automáticamente una notificación cuando la toca en el Centro de notificaciones para abrir la aplicación.

Aquí hay una sugerencia, aunque tiene sus defectos, y yo no la he probado:

  • Presione una notificación silenciosa (contentAvailable: true), no incluya una “alerta” dentro del push, coloque el texto de alerta en una propiedad personalizada del push
  • Controle el impulso entrante y active una notificación local, muéstrela de inmediato
  • Si el usuario hace clic en la notificación local, use la [UIAplicación cancelLocalNotification:] que debería eliminar la notificación del centro de notificaciones.

Cuando llama al método: [application cancelAllLocalNotifications]; dentro de los métodos de AppDelegate:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

y

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo

Todas las notificaciones locales y automáticas se eliminarán de esa aplicación en particular.