tutorial remote notification notificaciones ios swift xcode apple-push-notifications swift3

remote - push notifications ios swift tutorial



UIUserNotificationType quedó en desuso en iOS10 Swift 3.0 (1)

en iOS10 UIUserNotificationType ha quedado obsoleto, use UNUserNotificationCenter

no te olvides de habilitar esto

para Swift3 para la muestra, vea esto

importar el marco de UserNotifications y agregar el UNUserNotificationCenterDelegate en Appdelegate

import UserNotifications @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate,UNUserNotificationCenterDelegate func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. //create the notificationCenter let center = UNUserNotificationCenter.current() center.delegate = self // set the type as sound or badge center.requestAuthorization(options: [.sound,.alert,.badge]) { (granted, error) in // Enable or disable features based on authorization } application.registerForRemoteNotifications() return true } func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { let chars = UnsafePointer<CChar>((deviceToken as NSData).bytes) var token = "" for i in 0..<deviceToken.count { token += String(format: "%02.2hhx", arguments: [chars[i]]) } print("Registration succeeded!") print("Token: ", token) } func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: NSError) { print("Registration failed!") }

recibir las notificaciones usando este delegado

func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (_ options: UNNotificationPresentationOptions) -> Void) { print("Handle push from foreground") // custom code to handle push while app is in the foreground print("/(notification.request.content.userInfo)") } func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { print("Handle push from background or closed") // if you set a member variable in didReceiveRemoteNotification, you will know if this is from closed or background print("/(response.notification.request.content.userInfo)") }

para obtener más información, puede ver en Apple API Reference

Recibo esta advertencia en iOS 10 que anteriormente funciona bien en iOS 9:

¿Hay otra función para corregir esta advertencia en iOS 10, apreciada si alguien tuviera idea para este problema?