使用未解析的标识符“InstanceID”Firebase 6.2.2

Posted

技术标签:

【中文标题】使用未解析的标识符“InstanceID”Firebase 6.2.2【英文标题】:Use of unresolved identifier 'InstanceID' Firebase 6.2.2 【发布时间】:2020-04-13 10:03:32 【问题描述】:

我总是收到一个奇怪的错误:-

使用未解析的标识符“InstanceID”

我还尝试通过将其替换为 FIRInstanceID 来进行检查。但问题错误仍然存​​在。

导入 Firebase

    InstanceID.instanceID().deleteID  error in
        if error != nil
            completion(ConstantLocalizeString.Something_went_wrong)
        
     

pod 已安装

Firebase (6.22.0)

FirebaseAnalytics (6.4.1)

FirebaseAuth (6.5.1)

FirebaseAuthInterop (1.1.0)

FirebaseCore (6.6.6)

FirebaseCoreDiagnostics(1.2.3)

FirebaseCoreDiagnosticsInterop (1.2.0)

Firebase 数据库 (6.1.4)

Firebase 安装 (1.1.1)

GTMSessionFetcher (1.3.1)

光泽度 (2.1.1)

GoogleAnalytics (3.17.0)

GoogleAppMeasurement (6.4.1)

GoogleDataTransport (5.1.1)

GoogleDataTransportCCTSupport (2.0.2)

GoogleUtilities(6.5.2)

【问题讨论】:

【参考方案1】:

我想我找到了解决方案。我错过了 pod 'Firebase/消息传递'

我正在使用的 Pod 是:- pod 'CodableFirebase' 吊舱“火力基地/核心” 吊舱“火力基地” pod 'Firebase/Auth' pod 'Firebase/分析' pod 'Firebase/消息传递' pod 'Firebase/数据库'

同样在课堂上,我必须将import Firebase替换为import FirebaseInstanceID

【讨论】:

【参考方案2】:

您可能想退后一步,重新审视代码本身,并确保它正在做您想做的事情。

FirebaseInstanceID 正在被弃用并被FirebaseInstallations 取代。在过去的版本中,FirebaseInstanceID 是作为 FirebaseAnalytics 的依赖项安装的,但现在不再如此。

【讨论】:

如果我将 FirebaseInstanceID 替换为 FirebaseInstallations。它再次开始显示错误 Use of unresolved identifier 'InstanceID' 但是如果我导入 FirebaseInstanceID,我可以访问 InstanceID.instanceID().deleteID 明白了,但是如果应用没有使用instanceID,为什么要删除InstanceID ID? 我将 InstanceID 用于各种目的 如果您直接使用它,pod 'FirebaseInstanceID'应该在 Podfile 中。否则,当 FirebaseMessaging 停止依赖它时,它会再次中断。

以上是关于使用未解析的标识符“InstanceID”Firebase 6.2.2的主要内容,如果未能解决你的问题,请参考以下文章

使用未解析的标识符 FBSession

使用未解析的标识符 'json' (Swift 3) (Alamofire)

使用未声明的类型“DKAsset”,使用未解析的标识符“DKImagePickerController”?

出现错误:使用未解析的标识符“LinkingObjects”

使用未解析的标识符 countElements [重复]

SDKApplicationDelegate 使用未解析的标识符