更新 Firebase 后在 swift 项目中找不到“InstanceID”和“InstanceID TokenHandler”

Posted

技术标签:

【中文标题】更新 Firebase 后在 swift 项目中找不到“InstanceID”和“InstanceID TokenHandler”【英文标题】:Cannot fin 'InstanceID' and 'InstanceIDTokenHandler' on swift project after updated Firebase 【发布时间】:2021-07-02 13:22:22 【问题描述】:

我有一个需要更新 Firebase 的旧项目,所以我这样做了。 之后,我得到两个错误,我不明白如何解决它们。有人可以帮我解决这个问题吗?

文件1.swift:

func token(withAuthorizedEntity authorizedEntity: String, scope: String, options: [AnyHashable: Any]? = nil, handler: @escaping InstanceIDTokenHandler) 
    

错误:在范围内找不到类型“InstanceIDTokenHandler”

文件2.swift

func checkDeviceToken() 
    let hasDeviceToken: Bool      =  self.devicesTokenUseCase.hasDeviceToken()
    let dontHaveDeviceToken: Bool = !hasDeviceToken

    InstanceID.instanceID().instanceID  (result, _) in
        if let result = result 
            let isNotSameToken: Bool = !self.devicesTokenUseCase.isSameDeviceToken(deviceToken: result.token)

            if hasDeviceToken && isNotSameToken 
                self.updateDeviceToken(token: result.token)
             else if dontHaveDeviceToken 
                self.sendDeviceToken(token: result.token)
            
         else 
            self.checkDeviceToken()
        
    

错误:在范围内找不到“InstanceID”

【问题讨论】:

【参考方案1】:

实例 ID 已被弃用,并在最近的 SDK 版本中被移除。

FCM 用于定位消息的新令牌称为安装 ID。您可以通过调用 Messaging.messaging().tokenget the current token 为您的应用实例提供服务。

拿到token后,可以和之前一样对待。

【讨论】:

以上是关于更新 Firebase 后在 swift 项目中找不到“InstanceID”和“InstanceID TokenHandler”的主要内容,如果未能解决你的问题,请参考以下文章