¿Cómo manejar notifications push en swift?

Tengo una aplicación ios donde envío push usando apns. Necesito manejar el post push y, si es correcto, muestre el post. ¿Cómo me puedo dar count rápido? Este es mi código:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { registerForPushNotifications(application) return true } func registerForPushNotifications(application: UIApplication) { let notificationSettings = UIUserNotificationSettings( forTypes: [.Badge, .Sound, .Alert], categories: nil) application.registerUserNotificationSettings(notificationSettings) } func application(application: UIApplication, didRegisterUserNotificationSettings notificationSettings: UIUserNotificationSettings) { if notificationSettings.types != .None { application.registerForRemoteNotifications() } } func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) { let tokenChars = UnsafePointer<CChar>(deviceToken.bytes) var tokenString = "" for i in 0..<deviceToken.length { tokenString += String(format: "%02.2hhx", arguments: [tokenChars[i]]) } print("Device Token:", tokenString) } func application(application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: NSError) { print("Failed to register:", error) } func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) { } func application(application: UIApplication, didReceiveLocalNotification notification: UILocalNotification) { } func applicationDidBecomeActive(application: UIApplication) { UIApplication.shanetworkingApplication().applicationIconBadgeNumber = 0 } 

¿En qué function puedo manejar notifications push allí?

Controlar las notifications automáticas cuando llegas a tu aplicación iOS es una parte complicada para sacar el máximo provecho.

Cuando llega la notificación push, su aplicación puede estar en

Estado cerrado: la aplicación se mata, estado en ejecución: la aplicación está en primer plano, estado en suspensión: la aplicación está en segundo plano ,

Manejar la notificación de inserción cuando llegó

Permite discutir uno por uno cómo manejarlos en cada estado

Estado cerrado:

Cuando la aplicación está cerrada (alguna otra aplicación se está ejecutando o el teléfono está bloqueado), llegó la notificación de inserción y la tocó para abrir la aplicación. Se le dará control al método appDelegate's es decir, didFinishLaunchingWithOptions : tenga en count que cuando normalmente didFinishLaunchingWithOptions la aplicación, se toca su ícono desde su teléfono. didFinishLaunchingWithOptions: llamó primero con launchOptions == nil. En caso de que inicies la aplicación haciendo clic en las notifications push recibidas didFinishLaunchingWithOptions: llamado con su launchOptions!=nil . Aquí viene el punto Si desea hacer algo especial cuando su aplicación se inicia onclick en notificación de inserción, debe agregar código en didFinishLaunchingWithOptions :

Me gusta esto

 if (launchOptions != nil) { //do some thing special eg display particular ViewController or Set some notification badge value. } 

Estado stream

Si su aplicación se está ejecutando (en primer plano) y recibe la notificación recibida, no se mostrará nada relacionado con esa notificación en la pantalla: sin alerta, sin post, sin sonido. En su lugar se llamará al método de appDelegate

  func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) { } 

Puede implementar este método de acuerdo con su necesidad de cómo desea responder a la notificación.

Estado suspendido

Si su aplicación está en segundo plano (el teléfono está bloqueado o se está ejecutando otra aplicación) y se recibe la notificación push, la notificación se mostrará con sonido y onclick en esa aplicación de notificación se iniciará con el siguiente método de appDelegate se llama

  func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) { } 

Es el mismo que se llama cuando se recibe la notificación en estado de ejecución. Tenga en count que siempre puede encontrar si su aplicación se despierta del estado de background en este método utilizando la propiedad applicationState de UIApplication. En este caso, puedes hacer algo especial cuando la aplicación se abre desde el background mediante notifications push.

Según su problema,

No puede alternar la visibilidad de la notificación una vez que se ha recibido en el dispositivo.

Este tipo de function / funcionalidad solo es posible en Android. Al recibir la notificación, los desarrolladores de Android pueden decidir si renderizar la vista o no.

Intenta controlarlo desde el lado del server.