【问题标题】:Error 'Cannot find 'Messaging' in scope' after update Firebase latest version in swift快速更新 Firebase 最新版本后出现错误“在范围内找不到“消息”
【发布时间】:2021-01-08 12:04:47
【问题描述】:

我最近通过 podfile 将 Firebase 更新到了最新的 Firebase 版本 7.3.1。现在我收到此错误,Xcode 因错误而失败:

Error 'Cannot find 'Messaging' in scope' 
Cannot find type 'MessagingRemoteMessage' in scope

Xcode 版本:12.0

斯威夫特 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 导入您的控制器?
  • 是的,我做到了

标签: ios swift firebase firebase-cloud-messaging podfile


【解决方案1】:

由于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

【讨论】:

    【解决方案2】:

    您需要在项目中明确导入“FirebaseMessaging”

    import FirebaseMessaging
    

    【讨论】:

      【解决方案3】:
      1. 将此行添加到名为 podfile: pod 'Firebase/Messaging' 的文件中
      2. 运行 pod 安装
      3. 清理 xCode 项目,然后重新构建
      4. 它对我有用!

      【讨论】:

        【解决方案4】:

        MessagingRemoteMessage 之前已被弃用,然后在 Firebase 7.x 中被删除。现在应该使用 APNs。更多详情here.

        另一种选择是继续使用 Firebase 6.x。

        【讨论】:

          【解决方案5】:

          这种情况的最佳解决方案

          只需安装 pod

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-08-19
            • 1970-01-01
            • 2019-06-05
            • 2022-06-17
            • 1970-01-01
            • 2021-11-26
            • 2019-02-10
            • 1970-01-01
            相关资源
            最近更新 更多