更新 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().token
get the current token 为您的应用实例提供服务。
拿到token后,可以和之前一样对待。
【讨论】:
以上是关于更新 Firebase 后在 swift 项目中找不到“InstanceID”和“InstanceID TokenHandler”的主要内容,如果未能解决你的问题,请参考以下文章
致命错误:集成 firestore 后在 Flutter iOS 构建中找不到“openssl/x509.h”文件
Firebase Swift - 当搜索控制器过滤结果时,实时更新不起作用