如何解决快速更新 Firebase 最新版本后出现错误“在范围内找不到“消息”
我最近通过 podfile 将 Firebase 更新到最新的 Firebase 版本 7.3.1。现在我收到此错误并且 Xcode 因错误而失败:
Error 'Cannot find 'Messaging' in scope'
Cannot find type 'MessagingRemoteMessage' in scope
Xcode 版本:12.0
Swift 5
我的代码是
extension AppDelegate : MessagingDelegate {
//MARK:- Firebase Delegate
func messaging(_ messaging: Messaging,didReceiveRegistrationToken fcmToken: String) {
print("Firebase registration token: \(fcmToken)")
}
func messaging(_ messaging: Messaging,didReceive remoteMessage: MessagingRemoteMessage) {
print("Received data message: \(remoteMessage.appData)")
}
}
我的豆荚如下图所示
pod 'Firebase/Core'
pod 'Firebase/Messaging'
pod 'Firebase/DynamicLinks'
pod 'Firebase/Crashlytics'
我刚刚尝试使用
完全移除豆荚cocoapods-deintegrate cocoapods-clean
但没有运气!
我经常更新我的 Pod,我看不出是什么导致了这种重大变化。
有人知道是什么原因吗?
解决方法
它是由 firebase 的版本引起的,要修复它,请将 MessagingRemoteMessage
更改为 MessagingDelegate
,错误就会消失
以这种方式改变你的功能
func messaging(_ messaging: Messaging,didReceiveRegistrationToken fcmToken: String?) {
print("Firebase registration token: \(fcmToken)")
}
func messaging(_ messaging: Messaging,didReceive remoteMessage: MessagingDelegate) {
print("Received data message: \(remoteMessage.description)")
}
不要忘记import FirebaseMessaging
您需要在项目中显式导入“FirebaseMessaging”
import FirebaseMessaging
,
- 将此行添加到名为 podfile 的文件中:pod 'Firebase/Messaging'
- 运行 pod install
- 清理 xCode 项目,然后重新构建
- 它对我有用!
MessagingRemoteMessage 之前已被弃用,然后在 Firebase 7.x 中被移除。现在应该改用 APNs。更多详情here。
另一种选择是继续使用 Firebase 6.x。
,这种情况的最佳解决方案
只需 pod 安装
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。