Pour Swift3 / iOS10, voir ce lien :
ios10, Swift 3 et Firebase Push Notifications (FCM)
J'essaie d'utiliser Firebase for Notifications et je l'ai intégré exactement comme décrit dans la documentation. Mais je ne comprends pas pourquoi cela ne fonctionne pas. Lorsque je construis mon projet, je vois cette ligne :
2016-05-25 16:09:34.987: <FIRInstanceID/WARNING> Failed to fetch default token Error Domain=com.firebase.iid Code=0 "(null)"
Voici mon AppDelegate :
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
FIRApp.configure()
FIRDatabase.database().persistenceEnabled = true
var service: DataService = DataService()
service.start()
registerForPushNotifications(application)
application.registerForRemoteNotifications()
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]])
}
FIRInstanceID.instanceID().setAPNSToken(deviceToken, type: FIRInstanceIDAPNSTokenType.Unknown)
print("Device Token:", tokenString)
}
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject], fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) {
// Print message ID.
print("Message ID: \(userInfo["gcm.message_id"]!)")
// Print full message.
print("%@", userInfo)
}
1 votes
Implémentez didFailToRegisterForRemoteNotificationsWithError et voyez s'il est appelé et si c'est le cas, quel est le code d'erreur. Je suppose que vous avez activé le profil de provisionnement de votre application pour les apns ?
0 votes
@SausageModulationMatrix Cette fonction n'est pas atteinte.
0 votes
Avez-vous trouvé une solution à ce problème ?
0 votes
Une solution à ce problème ?
0 votes
Vérifiez l'identité de signature de votre code, cela a fonctionné pour moi.
0 votes
@commando. Je suis confronté au même problème que vous. Je n'ai pas réussi à obtenir le jeton APNS Error Domain=com.firebase.iid Code=1001 "(null)" & Impossible de se connecter avec FCM. Optional(Error Domain=com.google.fcm Code=2001 "(null)").merci de vérifier ma question. stackoverflow.com/questions/41198651/