sonidos recuperar notificaciones mail historial funciona correo centro aparece activar ios swift push-notification unusernotificationcenter usernotifications

ios - mail - recuperar notificaciones iphone



Habilitar o deshabilitar notificaciones de iPhone Push dentro de la aplicaciĆ³n (3)

Tengo una aplicación para iphone que permite recibir notificaciones push. Actualmente puedo desactivar las notificaciones automáticas para mi aplicación yendo a las configuraciones / Notificaciones de iphone.

Pero quiero agregar un interruptor o botón dentro de mi aplicación para habilitar o deshabilitar las notificaciones push.

Se puede hacer porque lo vi en la aplicación de iPhone foursqure lo hizo. Obtuvieron una sección en la configuración de notificaciones de llamadas y el usuario puede habilitar o deshabilitar diferentes tipos de notificaciones para la aplicación.

Miro por toda la red para encontrar una solución adecuada para esto, pero todavía no encuentro la manera. ¿Puede alguien dar alguna idea de cómo hacer eso?

Gracias por adelantado :)


Lo primero es que no can not enable and disable push notification dentro de la aplicación. Si ha encontrado algunas aplicaciones que lo hicieron, debe haber una solución alternativa.

Al igual que si desea hacer una aplicación dentro de la aplicación, utilice un identificador y envíelo al servidor de acuerdo con el botón activar y desactivar notificaciones de inserción. Entonces, la codificación del lado del servidor usa este identificador y funciona de acuerdo con eso. Como el identificador es decir que está habilitado de lo que su servidor enviará la notificación de lo contrario no.

Puede verificar que el conjunto de usuarios enable o disable Push Notifications con el siguiente código.

Habilitar o deshabilitar las notificaciones de Iphone Push

UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes]; if (types == UIRemoteNotificationTypeNone) // Yes it is..

Espero que esto te ayudará..


[ FYI - Pocos usuarios informaron que dejó de funcionar en iOS 10 ]

Puede habilitar y deshabilitar fácilmente las notificaciones push en su aplicación llamando nuevamente a registerForRemoteNotificationTypes y unregisterForRemoteNotificationTypes respectivamente. Lo intenté y funciona.


Swift 4

Habilitar notificación push (Configuración desde la aplicación):

if #available(iOS 10.0, *) { // SETUP FOR NOTIFICATION FOR iOS >= 10.0 let center = UNUserNotificationCenter.current() center.delegate = self center.requestAuthorization(options: [.sound, .alert, .badge]) { (granted, error) in if error == nil{ DispatchQueue.main.async(execute: { UIApplication.shared.registerForRemoteNotifications() }) } } }else{ // SETUP FOR NOTIFICATION FOR iOS < 10.0 let settings = UIUserNotificationSettings(types: [.sound, .alert, .badge], categories: nil) UIApplication.shared.registerUserNotificationSettings(settings) // This is an asynchronous method to retrieve a Device Token // Callbacks are in AppDelegate.swift // Success = didRegisterForRemoteNotificationsWithDeviceToken // Fail = didFailToRegisterForRemoteNotificationsWithError UIApplication.shared.registerForRemoteNotifications() }

Delegar métodos para manejar notificaciones push

@available(iOS 10.0, *) func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { } @available(iOS 10.0, *) func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) { } func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { // ...register device token with our Time Entry API server via REST } func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) { //print("DidFaildRegistration : Device token for push notifications: FAIL -- ") //print(error.localizedDescription) }

Deshabilitar notificación push:

UIApplication.shared.unregisterForRemoteNotifications()