错误:无法构建Objective-C模块“ Firebase”


Answers:


203

解决此问题的方法只有一种。

  1. 退出Xcode。
  2. 删除位于以下位置的项目的临时文件 ~/Library/Developer/Xcode/DerivedData
  3. 删除 ProjectName.xcworkspace
  4. 删除Podfile.lock文件和Pods文件夹
  5. 运行pod install
  6. 打开新创建的ProjectName.xcworkspace文件并进行构建。

如果删除ProjectName.xcworkspace,是否会删除那里的先前代码?
Cons Bulaquena '18

4
我没有Xcode的文件夹,我 ~/Library/Developer
乔纳斯

4
@DimitrisBouzikas非常感谢!它在下面,~/User/ME/Library/...并且Library文件夹被隐藏了。(使用Shift + cmd +(点)使其可见)
乔纳斯

3
对于将来的读者,这里有一个计算机的图书馆文件夹,也是一个用户的文件夹,大多数情况下它是在用户的文件夹中
Julian Wagner

2
非常感谢,您节省了我的时间!xCode v12
米洛万·托马什维奇(MilovanTomašević)

51

Build+ B)对我有用。


1
在应用第一个答案后为我工作。还必须将FIRApp.configure()更改为FirebaseApp.configure()
Aremvee

为我工作,而不必应用的Dimitris Bouzikas答案,我被添加火力,以现有项目为那些做同样的
nommer

我尝试了Dimitri的解决方案,但没有成功,最终丢失了必要的文件,此解决方案确实解决了问题
Mario Rojas

@MarioRojas您可以确定需要哪些文件?研究一下Pod的工作原理。
Dimitris Bouzikas

40

我正在使用Swift 4和Xcode9。我要做的就是选择FirebaseCore Scheme。

在Xcode上:

Product->Scheme->FirebaseCore.

如果您没有FirebaseCore,请Manage Schemes选择它。然后再试一次。


1
太棒了,我的朋友,您帮助了我,谢谢。过去4天一直在搜索。谢谢。伙计们的作品!
Kaushal Topinkatti

1
这也对我有用!(在安装Pods之后,我也使用'open myproject.xcworkspace重新启动了Xcode,以防万一。)
Lucy

当我将方案切换回我的应用方案时,这不再起作用。有人可以解释一下吗?
马修·安德森

30

这可以解决您的问题:

  1. 退出Xcode。(不只是关闭Xcode窗口,右键单击并明确退出)。

  2. 转到~/Library/Developer/Xcode/DerivedData并删除项目文件夹。(只需删除所有文件夹)。

  3. 清理并生成项目。

如果仍然存在错误:

执行步骤1和2,然后按照下列步骤操作:

  1. 将方案更改为Firebase和构建(Command+ B)。

  2. 更改回您的应用方案,然后再次运行。


3
上述步骤无法解决我的问题,请帮助我。
萨马尔·凯里沃

请尝试其他答案。您的情况可能有所不同。
阿比吉斯(Abhijith)

16

我用.xcodeproj打开了项目,并用cocoapods安装了Firebase。我遇到了同样的错误。但是我只是关闭项目并使用.xcworkspace打开它。

警报已消失。Firebase是我项目中的第一个库。所以我一直使用.xcodeproj文件。


10

通过CocoaPods正确安装FireBase。请尝试以下步骤

第1步-关闭Xcode

第2步-清除您的派生数据。您可以在这里找到您的派生数据

〜/库/开发人员/ Xcode / DerivedData

第3步-打开您的.xcworkspace

第4步-清理项目(⌘+ Shift + K

步骤5-建立专案(⌘+ B

确保已打开.xcworkspace文件


这是在Ionic 3应用程序上使用Xcode 9.4的唯一答案。
布伦特


3

我正在使用Swift 4和Xcode 9.4。这为我解决了同样的问题。

除了目标项目,我还在XCode-> Manage Schemes中选择了以下框架

在Xcode中:

Product-> Scheme-> FirebaseCore
Product -> Scheme -> nanopb
Product -> Scheme -> GoogleToolBoxforMac 

3

尝试了上述建议,但它们对我没有用。Generic iOS Device对我有用的是先构建然后在我的物理设备iPhone6上运行它。

但是,我仍然无法在模拟器上运行它。是什么在这里工作是改变Build Active Architecture Only - DebugNOPod Project Build Settings

希望这对某人有帮助。


谢谢@marceh,这对我有所帮助。在尝试了上述步骤后,它不起作用。
ArdenDev

2

您能在这里尝试看看我的回答

TL; DR确保您正在运行cocoapods版本1.4.0 minimum。它修复了静态框架导入。

您可以通过sudo gem install cocoapods在终端上运行并通过键入以下内容来验证您的版本pod --version


2

我尝试了此操作(退出Xcode,删除所有临时文件,重新安装Pod等),但此操作不起作用。所做的只是command + b在之后建立项目()pod install。无论如何!



2

这是因为我安装了Firebase CocoaPods,但没有通过<projectName>.xcworkspace文件重新打开它。所以我要做的是:

  • 我退出了Xcode
  • 通过单击<projectName>.xcworkspace项目文件将其打开
  • 那么我可以在项目中使用“导入Firebase”。

2

我最近在使用Xcode 12时遇到了这个问题。我发现删除“有效体系结构”构建设置(VALID_ARCHS)可以解决此问题。

Xcode 12发行说明中:

“构建设置”编辑器不再包含“有效体系结构”构建设置(VALID_ARCHS),不鼓励使用它。而是有一个新的“排除的体系结构”构建设置(EXCLUDED_ARCHS)。如果项目包含VALID_ARCHS,则该设置将显示在“构建设置”编辑器的“用户定义”部分中。(15145028)


这个答案很有帮助。谢谢!
石本光明

1

这为我工作:

  1. 关闭Xcode
  2. 豆荚解体
  3. 删除xcworkspace
  4. 吊舱安装
  5. 在项目导航器>项目名称>配置中
  6. 全部设为无
  7. 清洁
  8. 建立


1

当我打开白色工作区而不是蓝色工作区时,它对我有用。您在桌面上按文件,然后按白色文件。

文件外观的图像: 文件外观的图像


0

今天这发生在我身上,我不知道为什么,因为那天晚上我关闭文件时,一切都非常完美。我使用最近的项目菜单打开了文件,并遇到了这个问题。然后我决定检查一下,Xcode打开了错误的文件。它没有使用Pod打开工作区文件,而是打开了Xcode项目。

打开工作区后,它就没有错误了,所有吊舱都开始运转了。我确定你们都比我更有经验,但我只是想把这些扔进去。



0

这里没有任何东西对我有用,但是后来我发现了一些有用的东西。

当我在Xcode的Project Navigator中单击我的项目,然后选择Info时,我查看了Configurations部分,发现我的应用程序只有Release配置,而没有Debug配置。

为了使Firebase正常工作,我去了Project Navigator中的Pods,然后在Configurations部分下删除了Debug配置。现在它构建良好。希望这会帮助其他人。


0

经过2天的搜索并尝试了本文中提出的每一个步骤,最终我可以解决问题。以上方法均不能解决我的问题,但以下一种方法可以解决我的问题:

  1. 您可以从以下链接下载Firebase框架包:https ://firebase.google.com/download/ios?authuser =0
  2. 此程序包中有一个Firebase.h头文件。我将此头文件添加到我的项目资源中。
  3. 最后,我在该文件的顶部添加了一行代码:'#import“ Firebase.h”'

简单容易地,错误消失了!


0

For和Solution很简单,因为我在执行pod install:D之后没有从.xcworkspace打开项目,并且遇到了同样的错误。我错误地从旧的.xcodeproj文件中打开了它。对我来说就是这样,哈哈


0

以上解决方案均不适合我。我发现问题是我在Cocoapods文件中有三个目标。而且只有我主要的一个目标添加了Firebase。这样,当我要将Firebase导入到其他目标中使用的文件时,Xcode会给出错误消息并指出未找到模块“ Firebase”。这是我的pods项目文件。对我来说,一种解决方案是将Firebase Pod添加到所有目标。或者另一个解决方案是从其他目标中删除文件。

def common_pods
  pod 'XXX'
end

target 'myMainProject' do
  common_pods()
  pod 'Firebase/Core'
  pod 'Firebase/AdMob'
  pod 'Firebase/RemoteConfig'
  pod 'Firebase/Crashlytics'
  pod 'Firebase/Analytics'
end

target 'myExtention1' do
  common_pods()
end

target 'myextension2' do
  common_pods()
end


0

生成时,请确保您位于项目导航器的根目录中。


-2

我有完全一样的问题

您可能会在Xcode打开的情况下重新安装Pod,否则Pod文件将不会被覆盖

打开工作区后,删除“ Pods”文件夹。退出“实用程序”中的X代码打开终端,您将在“应用程序”中找到它。使用cd ...转到项目文件夹,使用“ pod install”重新安装pod。

那应该解决它。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.