Hallo ich zum ersten Mal FCM Push-Benachrichtigung mit bin ich FCM mit diesem Code implementiert haben:FIRInstanceID immer null in FIRInstanceIDAPNSTokenType.Sandbox
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let settings: UIUserNotificationSettings = UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil)
application.registerUserNotificationSettings(settings)
application.registerForRemoteNotifications()
FIRApp.configure()
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.tokenRefreshNotification),
name: kFIRInstanceIDTokenRefreshNotification, object: nil)
}
func tokenRefreshNotification(notification: NSNotification) {
print("refresh token call")
let refreshedToken = FIRInstanceID.instanceID().token()!
print("InstanceID token: \(refreshedToken)")
NSUserDefaults.standardUserDefaults().setObject(refreshedToken, forKey: "deviceToken");
// Connect to FCM since connection may have failed when attempted before having a token.
connectToFcm()
updateDeviceToken()
}
func connectToFcm() {
FIRMessaging.messaging().connectWithCompletion { (error) in
if (error != nil) {
print("Unable to connect with FCM. \(error)")
} else {
print("Connected to FCM.")
}
}
}
func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {
FIRInstanceID.instanceID().setAPNSToken(deviceToken, type: FIRInstanceIDAPNSTokenType.Sandbox)
/*when I comment above line app works fine but not receiving notificaiton
in background and If i uncomment above line than app crashes
for the first time when I launch on device */
}
func applicationDidBecomeActive(application: UIApplication) {
connectToFcm()
}
Console log <FIRInstanceID/WARNING> APNS Environment in profile: development
vor app Absturz druckt.
Jetzt Problem ist, wenn ich gesetzt FIRInstanceIDAPNSTokenType.Sandbox
dann stürzt app, wenn ich zum ersten Mal bcaz Einführung von i FIRInstanceID.instanceID().token()!
nil in tokenRefreshNotification
Methode immer bin. Und wenn ich kein APNS-Token auf FIRInstanceID
gesetzt habe, funktioniert App gut, aber ich bekomme keine Hintergrundbenachrichtigung in diesem Szenario. und gib mir auch lösung, wie zu überprüfen FIRInstanceID.instanceID().token()!
ist null oder nicht
Manchmal werden Sie Null für die Token in tokenRefreshNoification bekommen, das ist die, wenn die anfänglich auftreten kann generierte Token werden schnell durch neue ersetzt. Sie sollten einen weiteren Rückruf zu tokenRefreshNotification mit einem anderen non-nil-Token erhalten. –