使用cocoapods iOS找不到FirebaseMessaging模块

问题描述 投票:5回答:10

我收到“找不到FirebaseMessaging模块”的错误。下面是我的pod文件结构。

Pod file structure

官方文档显示Firebase / Messaging可用。我已写入pod文件并尝试安装它。终端中的统计信息未显示FirebaseMessaging安装,并且该pods目录也是如此。

以下是终端统计数据。

Terminal screenshot

我哪里错了?

ios firebase xcode7 cocoapods firebase-cloud-messaging
10个回答
9
投票

罪魁祸首是Pods!我使用这个link.从Project中删除了所有CocoaPods

此后,我再次使用这个link.添加了Pods项目

Screenshot for logs

它真的有用了!


-3
投票

这个答案适用于那些在经历过这里的所有事情后仍然遇到这个问题的人。

有时,您的CocoaPods模块最终会出现在iCloud中,并且不会将它们下载到您的Mac上。您所要做的就是转到项目中的pods文件夹,然后重新下载Mac上没有的pod。也许关闭该文件夹的iCloud。


3
投票

此代码来自Firebase示例Podfile for Messaging。

我会说,尝试改变你的Podfile,关闭XCode并运行pod install

use_frameworks!
platform :ios, '7.0'

pod 'Firebase/Messaging'

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

我不确定订单是否确实改变了pod的工作方式。


1
投票

只是为了记录,因为那是我面临的情况。如果在安装pod后创建了新目标,则会出现“找不到模块”错误。项目将成功构建的奇怪之处。但是,自动完成功能不起作用,这些愚蠢的错误(未找到模块)将出现在这里和那里。

要解决此问题,您需要在Podfile中引入新目标。系统化的方法是:

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

然后删除Xcode工作区,继续进行新的Pod安装。


1
投票

使用

#import "FirebaseMessaging.h"

代替

@module FirebaseMessaging

0
投票

删除项目根目录中的Podfile.lock并重做pod install。这对我有用。


0
投票

导入#import "FirebaseMessaging.h"而不是@import FirebaseMessaging;

如果您使用此代码获取令牌ID:[[FIRInstanceID instanceID] token]

您可以收到此警告消息:'token' is deprecated: Use instanceIDWithHandler: instead.

为此,请使用此代码获取令牌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


0
投票

在目标的链接框架和库部分中添加缺少的框架,而Xcode可以解决这个问题。试试看;它解决了我的问题

[编辑] 在项目中搜索.framework,您将看到所有缺少框架的红色。


0
投票

我遇到了同样的问题,我只是通过pod install重新安装pod


-2
投票

use_frameworks!添加到Podfile解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.