Firebase InstanceId 未解析标识符 swift4

Dee*_*pak 6 ios firebase swift firebase-cloud-messaging

我最近更新了我的 SWIFT 应用程序 pod 文件,因此 firebase 版本现在更新为 5.2。现在在获取设备实例 ID 时出现以下错误。

let tokenId = InstanceID.instanceID().token()
Run Code Online (Sandbox Code Playgroud)

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

以前这段代码运行良好,我正在获取应用程序的实例 ID。

以下是我的 pod 文件的内容。

   # Uncomment the next line to define a global platform for your project
# platform :ios, '11.2'

target 'FirebaseChat' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for FirebaseChat

pod 'Firebase/Database'
pod 'Firebase/Auth'
pod 'Firebase/Storage'
pod 'UnderLineTextField', '~> 2.0'
pod 'Alamofire'
pod 'TCPickerView'
pod 'Toast-Swift', '~> 3.0.1'
pod 'IQKeyboardManagerSwift'
end
Run Code Online (Sandbox Code Playgroud)

任何建议都会有所帮助。谢谢你。

小智 18

您应该导入 FirebaseInstanceID

  import FirebaseInstanceID
Run Code Online (Sandbox Code Playgroud)


sin*_*dra 6

Firebase 在 FirebaseInstanceID 更新中对令牌进行了更改,因此现在他们更改了语法以获取令牌

尝试这个

InstanceID.instanceID().instanceID(handler: { (result, error) in
    if let error = error{
        print("Error fetching remote instange ID(Token): \(error)")
    }else if let result = result{
        print("Remote instance ID token: \(result.token)")

    }
})
Run Code Online (Sandbox Code Playgroud)

和进口

import FirebaseInstanceID
Run Code Online (Sandbox Code Playgroud)


小智 6

Firebase 尚未更新他们的文档,但随后更新了他们的 api 以获取实例 ID

import FirebaseInstallations

进而

Installations.installations().authToken { (installationsAuthTokenResult, error) in
    if let authError = error {
            print(authError.localizedDescription)
    } else {
            print(installationsAuthTokenResult?.authToken.description)
    }
}
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请查看Firebase 团队的此链接