当我编译应用程序时,我得到一个等于此的错误:
无法构建Objective-C模块' Firebase'
此错误出现在我的swift文件的import Firebase
中。
答案 0 :(得分:83)
只有一种方法可以解决这个问题。
~/Library/Developer/Xcode/DerivedData
ProjectName.xcworkspace
Podfile.lock
文件和Pods
文件夹pod install
。ProjectName.xcworkspace
文件并构建。答案 1 :(得分:39)
构建(⌘ + B )为我工作。
答案 2 :(得分:28)
我正在使用Swift 4和Xcode 9.我所要做的就是选择FirebaseCore Scheme。
在Xcode上:
Manage Schemes
如果您没有FirebaseCore,请转到geom_bar()
并选择它。然后再试一次。
答案 3 :(得分:20)
这可能会解决您的问题:
退出Xcode。 (不要只关闭Xcode窗口,右键单击并明确退出)。
转到~/Library/Developer/Xcode/DerivedData
并删除项目文件夹。 (只需删除所有文件夹)。
清理并构建项目。
如果仍然存在错误:
执行步骤1和2并按照以下步骤操作:
将方案更改为Firebase和Build(命令 + B )。
更改回您的应用方案并再次运行。
答案 4 :(得分:4)
通过CocoaPods正确安装FireBase。请尝试以下步骤
第1步-关闭Xcode
第2步-清除衍生数据。您可以在这里找到派生数据
〜/库/开发人员/ Xcode / DerivedData 第3步-打开您的.xcworkspace
第4步-清理项目(⌘+ Shift + K)
第5步-构建项目(⌘+ B)
确保已打开.xcworkspace文件
答案 5 :(得分:3)
'pod deintegrate'和'pod install'对我有用。
答案 6 :(得分:2)
发生在我身上的原因是我安装了Firebase CocoaPods,但没有通过#include <memory>
class A {
public:
void* operator new(size_t) = delete;
void* operator new(size_t, void*) = delete;
void* operator new [] (size_t) = delete;
};
// Regular new fails
A* a1 = new A();
// Placement new fails
void* pv = std::malloc(sizeof(A));
A* a2 = new (pv) A();
// make_shared works
std::shared_ptr<A> a3 = std::make_shared<A>();
文件重新打开它。
所以我要做的是:
<projectName>.xcworkspace
文件将其打开答案 7 :(得分:2)
最近在使用Xcode 12时遇到了这个问题。我发现删除“有效体系结构”构建设置(VALID_ARCHS)可以解决此问题。
摘自Xcode 12发行说明:
“构建设置”编辑器不再包含“有效体系结构”构建设置(VALID_ARCHS),不建议使用。而是有一个新的“排除的体系结构”构建设置(EXCLUDED_ARCHS)。如果项目包含VALID_ARCHS,则该设置将显示在“构建设置”编辑器的“用户定义”部分中。 (15145028)
答案 8 :(得分:2)
我正在使用Swift 4和Xcode 9.4。这为我解决了同样的问题。
除了目标项目外,我还在XCode-> Manage Schemes中选择了以下框架
在Xcode中:
ViewHolder
答案 9 :(得分:2)
我试过这个(退出Xcode,删除所有临时文件,重新安装pod等)并且它不起作用。在command + b
之后,工作只是在构建我的项目(pod install
)。无论什么都有效!
答案 10 :(得分:2)
请你试试看my answer here
TL; DR 确保您正在运行cocoapods版本1.4.0 minimum
。它修复了静态框架导入。
您可以在终端上运行sudo gem install cocoapods
并通过输入pod --version
验证您的版本
答案 11 :(得分:1)
这对我有用:
答案 12 :(得分:0)
答案 13 :(得分:0)
对我来说,问题很简单。我有一个新的 m1 mac,它有时无法加载可可豆荚。简单地说:
答案 14 :(得分:0)
当我打开白色工作空间而不是蓝色工作空间时,它对我有用。您在桌面上按文件,然后按白色文件。
文件外观的图像:
答案 15 :(得分:0)
我在 Flutter 项目中遇到了同样的问题。
您应该从项目和每个 pod 目标中排除用于模拟器架构的 arm64
从项目中排除 arm64
将此代码添加到 Pofile
post_install do |installer|
installer.pods_project.targets.each do |target|
# exclude arm64 for simulator architecture the pod target
target.build_configurations.each do |config|
config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
end
end
end
答案 16 :(得分:0)
构建时,请确保您位于项目导航器的根目录中。
答案 17 :(得分: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
答案 18 :(得分:0)
For and Solution非常简单,因为我在执行pod install:D之后没有从.xcworkspace打开项目,并且遇到了相同的错误。 我错误地从旧的.xcodeproj文件中打开了它。 对我来说就是这样,大声笑
答案 19 :(得分:0)
我用.xcodeproj打开了项目,并用cocoapods安装了Firebase。我遇到了同样的错误。但是我只是关闭项目,然后使用.xcworkspace打开它。
警报已消失。 Firebase是我项目中的第一个库。所以我一直使用.xcodeproj文件。
答案 20 :(得分:0)
答案 21 :(得分:0)
经过2天的搜索并尝试了本文中提出的每一个步骤,最终我可以解决问题。以上方法均不能解决我的问题,但可以解决这个问题:
简单,轻松地消除错误!
答案 22 :(得分:0)
确保,您正在使用与Pod文件位于同一目录中的工作区文件。
答案 23 :(得分:0)
尝试了以上建议,但它们对我没有用。对我有用的是先构建为Generic iOS Device
,然后在我的物理设备iPhone6上运行它。
但是,我仍然无法在模拟器上运行它。此处的工作是在Build Active Architecture Only - Debug
中将NO
更改为Pod Project Build Settings
。
希望这对某人有帮助。
答案 24 :(得分:0)
这里没有任何东西适合我,但是后来我发现了一些有用的东西。
当我在Xcode的Project Navigator中单击我的项目,然后选择 Info 时,我查看了 Configurations 部分,发现只有一个 Release 配置,而我的应用没有 Debug 配置。
为了使Firebase正常工作,我去了Project Navigator中的 Pods ,然后在 Configurations 部分下删除了 Debug 组态。现在它构建良好。希望这会对别人有所帮助。
答案 25 :(得分:0)
只需重新启动xcode并运行您的项目即可。
答案 26 :(得分:0)
今天这发生在我身上,我只是想不通为什么,因为那天晚上我关闭文件时,一切都非常完美。我使用最近的项目菜单打开了文件,并遇到了这个问题。然后我决定检查一下,Xcode打开了错误的文件。它没有使用Pod打开工作区文件,而是打开了Xcode项目。
一旦打开工作区,它就不会出现错误,并且所有Pod都表现良好。我肯定你们都比我更有经验,但是我只是想把那扔在那里。
答案 27 :(得分:-2)
我有完全相同的问题
您可以在打开Xcode的情况下重新安装pod 或者你的pods文件不允许和覆盖
打开工作区,删除&#34; Pods&#34;夹。 退出X-Code 打开终端&#34; Utilities&#34; 您可以在&#34;应用程序&#34; 使用cd ...转到项目文件夹 使用&#34; pod install&#34;重新安装pods。
那应该解决它。