ios - 更新 Firebase 后,无法在 swift 项目上找到“InstanceID”和“InstanceIDTokenHandler”
问题描述
我有一个需要更新 Firebase 的旧项目,所以我做到了。之后,我得到两个错误,我不明白如何解决它们。请问有人可以帮我吗?
文件1.swift:
func token(withAuthorizedEntity authorizedEntity: String, scope: String, options: [AnyHashable: Any]? = nil, handler: @escaping InstanceIDTokenHandler) {
}
错误:在范围内找不到类型“InstanceIDTokenHandler”
File2.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”
解决方案
实例 ID 已被弃用,并在最近的 SDK 版本中被删除。
FCM 用于定位消息的新令牌称为安装 ID。您可以通过调用来获取您的应用实例的当前令牌Messaging.messaging().token
。
拿到token后,就可以和之前一样对待了。
推荐阅读
- android - 是否可以在按下单个视图时执行两个动作侦听器?
- android - Android espresso 无法导航到其他 Fragment?
- c++ - 如何在 C++ 中将矩阵与文件结合起来?
- r - 循环不匹配手动方式
- sql - SQL SERVER:(性能问题)获取所有行,如果列重复,则从 select 语句中选择另一列的最大行
- oracle - Oracle 中的动态 SQL 存储过程
- javascript - Javascript 无法识别相对路径导入
- swift - UITextField 不能成为 UITableView 中的第一响应者
- python - 如何使我的输出打印为“+”字母出现在列表中的次数?
- amazon-web-services - 终止 AWS Elastic Beanstalk 环境并删除数据库