J'essaie d'utiliser Firebase pour gérer les notifications Push. J'ai installé le pod Firebase
(pods 'Firebase/Core' et 'FirebaseMessaging').
Et après avoir importé Firebase dans le projet
import Firebase
J'ai configuré l'application Firebase comme ceci (le code est copié à partir des documents officiels):
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?)
-> Bool {FIRApp.configure() }
Après cela, j'ai essayé d'utiliser ce code (le code est copié à partir des documents officiels):
if #available(iOS 10.0, *) {
let authOptions : UNAuthorizationOptions = [.alert, .badge, .sound]
UNUserNotificationCenter.current().requestAuthorization(
options: authOptions,
completionHandler: {_,_ in })
// For iOS 10 display notification (sent via APNS)
UNUserNotificationCenter.current().delegate = self
// For iOS 10 data message (sent via FCM)
FIRMessaging.messaging().remoteMessageDelegate = self
} else {
let settings: UIUserNotificationSettings =
UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil)
application.registerUserNotificationSettings(settings)
}
application.registerForRemoteNotifications()
Mais j'ai eu l'erreur du titre qui dit:
Utilisation d'options de type UNAuthorization non déclarées
j'ai également la même erreur liée à la classe UNUserNotificationCenter
.
J'utilise Swift 2.2 et Xcode 7.3.1
Quelle est la cause de cette erreur?
UserNotifications.framework
Est disponible à partir d'iOS 10 et vous travaillez avec Xcode 7.3 signifie avec iOS 9 et inférieur, il n'est donc pas nécessaire d'ajouter cette if #available(iOS 10.0, *) {
, d'écrire uniquement une autre partie directement et de vous inscrire notifications à distance.
let settings: UIUserNotificationSettings = UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil)
application.registerUserNotificationSettings(settings)
application.registerForRemoteNotifications()
tu dois import UserNotifications
avant d'appeler ces framework. Et ce que Nirav D a dit est vrai, c'est un nouveau cadre dans iOS 10, devrait également se rappeler de sélectionner la bonne cible de déploiement.