Jayprakash Dubey
Jayprakash Dubey

Reputation: 36447

FirebaseMessaging module not found using cocoapods iOS

I'm getting a error that 'FirebaseMessaging module not found'. Below is my pod file structure.

Pod file structure

Official documentation shows Firebase/Messaging is available. I've written in pod file and tried to install it. The stats in terminal doesn't shows FirebaseMessaging installation and same does that pods directory.

Below is terminal stats.

Terminal screenshot

Where I'm going wrong?

Upvotes: 12

Views: 29127

Answers (8)

Ali A. Jalil
Ali A. Jalil

Reputation: 921

I encountered the same issue, I just reinstall pods, by pod install

Upvotes: 0

Vikram Sinha
Vikram Sinha

Reputation: 609

Adding missing frameworks in the linked frameworks and the library section of the target and quite the Xcode may solve the issue. Give it a try; it solved mine.

[Edit]
Search for .framework in the project and you will see all those missing framework in red.

Upvotes: 0

Naresh
Naresh

Reputation: 17882

Import #import "FirebaseMessaging.h" instead of @import FirebaseMessaging;

If you are using this code to get token ID:[[FIRInstanceID instanceID] token]

You can get this warning message: 'token' is deprecated: Use instanceIDWithHandler: instead.

For this use this code to get token ID.

[[FIRInstanceID instanceID] instanceIDWithHandler:^(FIRInstanceIDResult * _Nullable result, NSError * _Nullable error) {
    if (error != nil) {
        NSLog(@"Error fetching remote instance ID: %@", error);
    } else {
        NSLog(@"Remote instance ID token: %@", result.token);
        NSString* message = [NSString stringWithFormat:@"Remote InstanceID token: %@", result.token];
        self.instanceIDTokenMessage.text = message;
    }
}];

https://firebase.google.com/docs/cloud-messaging/ios/first-message

Upvotes: 0

Davender Verma
Davender Verma

Reputation: 573

Use

#import "FirebaseMessaging.h"

instead of

@module FirebaseMessaging

Upvotes: 2

Gr8Warrior
Gr8Warrior

Reputation: 719

Remove Podfile.lock in the root of the project and redo the pod install. This worked for me.

Upvotes: 1

Abdalrahman Shatou
Abdalrahman Shatou

Reputation: 4748

Just for record as that was the situation I faced. If you created a new target after installing the pods, you will get "Module not found" error. The weird thing that the project will build successfully. However, autocompletion won't work and these silly errors (module not found) will appear here and there.

To solve the issue, you need to introduce the new targets in Podfile. A systematic way to do that will be:

$ sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod clean
$ rm Podfile

Then remove the Xcode workspace, and proceed with a new fresh Pod install.

Upvotes: 2

Jayprakash Dubey
Jayprakash Dubey

Reputation: 36447

The culprit was Pods! I removed all CocoaPods from Project using this link.

Thereafter, I again added Pods to project using this link.

Screenshot for logs

It really worked later!

Upvotes: 13

Idan
Idan

Reputation: 5450

This code is from Firebase example Podfile for Messaging.

I'll say, try and change your Podfile, close XCode and run pod install

use_frameworks!
platform :ios, '7.0'

pod 'Firebase/Messaging'

target 'FCM' do
end
target 'FCMSwift' do
end
target 'FCMTests' do
end

I'm not sure if the order does change something in the way the pods work.

Upvotes: 5

Related Questions