import UserNotifications
Ensuite, allez dans l'éditeur de projet de votre cible, et dans l'onglet Général, recherchez la section Cadres et bibliothèques liés.
Cliquez sur + et sélectionnez UserNotifications.framework :
// iOS 12 support
if #available(iOS 12, *) {
UNUserNotificationCenter.current().requestAuthorization(options:[.badge, .alert, .sound, .provisional, .providesAppNotificationSettings, .criticalAlert]){ (granted, error) in }
application.registerForRemoteNotifications()
}
// iOS 10 support
if #available(iOS 10, *) {
UNUserNotificationCenter.current().requestAuthorization(options:[.badge, .alert, .sound]){ (granted, error) in }
application.registerForRemoteNotifications()
}
// iOS 9 support
else if #available(iOS 9, *) {
UIApplication.shared.registerUserNotificationSettings(UIUserNotificationSettings(types: [.badge, .sound, .alert], categories: nil))
UIApplication.shared.registerForRemoteNotifications()
}
// iOS 8 support
else if #available(iOS 8, *) {
UIApplication.shared.registerUserNotificationSettings(UIUserNotificationSettings(types: [.badge, .sound, .alert], categories: nil))
UIApplication.shared.registerForRemoteNotifications()
}
// iOS 7 support
else {
application.registerForRemoteNotifications(matching: [.badge, .sound, .alert])
}
Utiliser les méthodes de délégation de notification
// Called when APNs has assigned the device a unique token
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
// Convert token to string
let deviceTokenString = deviceToken.reduce("", {$0 + String(format: "%02X", $1)})
print("APNs device token: \(deviceTokenString)")
}
// Called when APNs failed to register the device for push notifications
func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
// Print the error to console (you should alert the user that registration failed)
print("APNs registration failed: \(error)")
}
Pour recevoir une notification push
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
completionHandler(UIBackgroundFetchResult.noData)
}
Configurer les notifications push, c'est activer la fonction dans Xcode 8. pour votre application. Il suffit d'aller sur allez dans l'éditeur de projet de votre cible et ensuite cliquez sur le Onglet Capacités . Cherchez Notifications push et de basculer sa valeur à ON .
Vérifiez le lien ci-dessous pour plus de méthodes de délégués de notification
Gestion des notifications locales et distantes UIApplicationDelegate - Gestion des notifications locales et distantes
https://developer.apple.com/reference/uikit/uiapplicationdelegate
2 votes
J'ai écrit un guide sur la façon de le faire : eladnava.com/