FirebaseMessaging module not found using cocoapods iOS

不羁岁月 提交于 2020-01-02 03:12:27

问题


I'm getting a error that 'FirebaseMessaging module not found'. Below is my 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.

Where I'm going wrong?


回答1:


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!




回答2:


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.




回答3:


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.




回答4:


Use

#import "FirebaseMessaging.h"

instead of

@module FirebaseMessaging



回答5:


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




回答6:


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




回答7:


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.




回答8:


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




回答9:


Adding use_frameworks! to the Podfile solved my issue.



来源:https://stackoverflow.com/questions/38343645/firebasemessaging-module-not-found-using-cocoapods-ios

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