未定义符号:_OBJC_CLASS _ $ _ FIRAnalytics

时间:2019-09-24 07:50:17

标签: ios swift firebase frameworks firebase-analytics

我正在尝试在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

下面是我的应用程序结构

  • iOS应用
    • MyCustom框架
      • Viewcontroller

2 个答案:

答案 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。我尝试了所有其他步骤,但是这也是必需的。