FirebaseMessaging module not found using cocoapods iOS

不羁的心 提交于 2019-12-05 05:25:21
Jayprakash Dubey

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

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

It really worked later!

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.

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.

Davender Verma Soni

Use

#import "FirebaseMessaging.h"

instead of

@module FirebaseMessaging

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

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

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.

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

Adding use_frameworks! to the Podfile solved my issue.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!