我正在尝试在iOS应用中调用Firebase Analytics,在编译项目时出现错误。
我创建了一个框架,并从该框架中调用了Firebase Analytics,但我不明白如何从错误中走出来。
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_FIRAnalytics", referenced from:
objc-class-ref in ViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Showing Recent Errors Only
:-1: Undefined symbol: _OBJC_CLASS_$_FIRAnalytics
下面是我的应用程序结构
答案 0 :(得分:4)
使用迦太基添加Firebase时,我遇到了类似的问题。
所以在运行命令后 迦太基更新-平台iOS 您需要将文件从Carthage / Build / iOS /复制到您的项目中 实际上,它只是复制了对Firebase文件的引用,但文件仍位于Carthage / Build / iOS /文件夹中
在更新了Xcode并因此更新了Swift之后-我需要更新我的依赖项-之后,我得到了这样的错误
原因是,在更新之后,引入了另外的 PromisesObjC.framework ,并且它当然没有包含在项目中。
因此,完全删除了所有与Firebase相关的框架并再次添加它们-解决了该问题。
P.S。并且不要忘记从Xcode的“链接库二进制文件构建”阶段删除Firebase.framework,使其在更新后不会在另一个错误中运行:) Error: Firebase.framework does not contain bitcode.
答案 1 :(得分:0)
请确保在删除旧的Firebase库后导入PromisesObjc.framework
。我尝试了所有其他步骤,但是这也是必需的。