swift无法更新FCM令牌

swift无法更新FCM令牌,swift,firebase,google-cloud-platform,firebase-cloud-messaging,Swift,Firebase,Google Cloud Platform,Firebase Cloud Messaging,如果有新的令牌可用,我将尝试更新我的FCM令牌。不幸的是,我遇到了以下错误: 隐式展开可选值时发现nil 这是我的密码: func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) { print("Firebase registration token: \(fcmToken)") let dataDict:[String: String] = ["token": f

如果有新的令牌可用,我将尝试更新我的FCM令牌。不幸的是,我遇到了以下错误:

隐式展开可选值时发现nil

这是我的密码:

func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) {
    print("Firebase registration token: \(fcmToken)")

    let dataDict:[String: String] = ["token": fcmToken]
    NotificationCenter.default.post(name: Notification.Name("FCMToken"), object: nil, userInfo: dataDict)
    if Auth.auth().currentUser == nil{

    }else{
        if Auth.auth().currentUser!.uid == nil{

        }else{
            db.collection("Users").document(Auth.auth().currentUser!.uid).setData([ "fcm": fcmToken ], merge: true)

        }
    }

我想这是因为我的uid是零,但我在检查它之前,
currentUser
是可选的,但是
currentUser
上的
uid
不是。尝试安全地展开
currentUser
,如下所示:

func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) {
    print("Firebase registration token: \(fcmToken)")

    let dataDict:[String: String] = ["token": fcmToken]
    NotificationCenter.default.post(name: Notification.Name("FCMToken"), object: nil, userInfo: dataDict)

    if let currentUser = Auth.auth().currentUser {
        db.collection("Users").document(currentUser.uid).setData([ "fcm": fcmToken ], merge: true)
    }
}

哪一行。。。。。。。。。。。。。。