未定义符号:_OBJC_CLASS_$_FIRAnalytics

use*_*374 4 frameworks ios firebase swift firebase-analytics

我试图在我的 iOS 应用程序中调用 Firebase Analytics,我在编译项目时遇到错误。

我创建了一个框架,并从该框架调用了 firebase 分析,但我不明白出现以下错误。

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
Run Code Online (Sandbox Code Playgroud)

以下是我的应用程序结构

  • 应用程序
    • 我的自定义框架
      • 视图控制器

Vik*_*toR 5

使用 Carthage 添加 Firebase 时,我遇到了类似的问题。

因此,在运行命令 carthage update --platform iOS 后, 您需要将 Carthage/Build/iOS/ 中的文件复制到您的项目中 实际上它只是复制了对 Firebase 文件的引用,但文件仍在 Carthage/Build/iOS/ 文件夹中

在更新 Xcode 和 Swift 之后 - 我需要更新我的依赖项 - 之后,我收到了这样的错误

原因是更新后引入了一个额外的PromisesObjC.framework,当然,它没有包含在项目中。

因此,完全删除所有与 Firebase 相关的框架并再次添加它们 - 解决了问题。

PS,不要忘记从 Xcode 中的链接二进制文件中删除 Firebase.framework,以免在更新后出现另一个错误:) 错误:Firebase.framework 不包含位码。