我在使用Swift的iOS应用中使用Firebase通知,最近我将Firebase Messaging从1.2.3更新为2,我的代码开始向左右中心突破。我解决了大部分问题,但我坚持使用这个问题。
以下是我的AppDelegate应用程序功能部分,它导致了我的问题:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
UIApplication.shared.statusBarStyle = .lightContent
...
FirebaseApp.configure()
// [START add_token_refresh_observer]
// Add observer for InstanceID token refresh callback.
NotificationCenter.default.addObserver(self,
selector: #selector(self.tokenRefreshNotification),
name: .firInstanceIDTokenRefresh,
object: nil)
// [END add_token_refresh_observer]
return true
}
当我尝试运行我的应用时,出现以下错误:
输入'NSNotification.Name?'没有成员'firInstanceIDTokenRefresh'
是否已将firInstanceIDTokenRefresh重命名为其他内容?
答案 0 :(得分:14)
此通知似乎已被委托方法替换。
Firebase Cloud Messaging文档提到了如何监控令牌生成:
监控令牌生成
要在更新令牌时收到通知,请提供符合
FIRMessagingDelegate
协议的委托。以下示例注册委托并添加适当的委托方法:
func messaging(_ messaging: Messaging, didRefreshRegistrationToken fcmToken: String) {
print("Firebase registration token: \(fcmToken)")
}
修改强>
文档还提到仍然可以使用通知,现在称为Notification.Name.MessagingRegistrationTokenRefreshed
。