Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"Error : Use of undeclared type MessagingDelegate" in Firebase messaging

I have updated my firebase messaging pod recently and followed the Quickstart guide of Firebase to perform necessary changes of upgradation.

I added the new extension AppDelegate : MessagingDelegate extension but getting certain errors.

enter image description here

like image 341
Heckyl Technologies Avatar asked Oct 09 '17 12:10

Heckyl Technologies


2 Answers

add import FirebaseMessaging at the top of the page would resolve the issue

like image 139
Daniel Raouf Avatar answered Oct 21 '22 21:10

Daniel Raouf


it is about the version of firebase ,in this case change MessagingDelegate to FIRMessagingDelegate and the function [START refresh_token] from

func messaging(_ messaging: Messaging, didReceiveRegistrationToken 
  fcmToken: String) {
     print("Firebase registration token: \(fcmToken)")

} 

to

func messaging(_ messaging: FIRMessaging, didReceiveRegistrationToken 
 fcmToken: String) {
    print("Firebase registration token: \(fcmToken)")
}

and last

func messaging(_ messaging: Messaging, didReceive remoteMessage: 
  MessagingRemoteMessage) {
    print("Received data message: \(remoteMessage.appData)")
 }

to

func applicationReceivedRemoteMessage(_ remoteMessage: 
     FIRMessagingRemoteMessage) {
    print("Received data message: \(remoteMessage.appData)")
}

complete answer is

extension AppDelegate : FIRMessagingDelegate {
    func applicationReceivedRemoteMessage(_ remoteMessage: FIRMessagingRemoteMessage) {
    print("Received data message: \(remoteMessage.appData)")
}

// [START refresh_token]

func messaging(_ messaging: FIRMessaging, didReceiveRegistrationToken fcmToken: String) {
    print("Firebase registration token: \(fcmToken)")
}}
like image 32
taha Avatar answered Oct 21 '22 22:10

taha