【问题标题】:Cannot integrate Firebase iOS SDK - Undefined symbols for architecture x86_64:无法集成 Firebase iOS SDK - 架构 x86_64 的未定义符号:
【发布时间】:2016-11-07 02:34:56
【问题描述】:

我一直试图将这个SDK 安装到我的 iOS 项目中,但没有取得多大成功。

起初,我尝试使用此处的设置说明手动安装它:https://firebase.google.com/docs/ios/setup#initialize_firebase_in_your_app

但是,在完全遵循readme 文件之后,当我尝试使用此代码时:

[FIRApp configure];

Firebase.h 导入头文件后,它无法识别FIRApp,在我看来,原因似乎是框架中缺少文件,因为头文件中不存在FIRApp.h

所以,我采用了备受讨厌的Cocoapods 安装。在pod install 部分中,一切都安装得很好并且没有警告显示。但是,当我再次添加以下代码时:[FIRApp configure]; 我出现了另一个错误:

架构 x86_64 的未定义符号:
“_OBJC_CLASS_$_FIRApp”,引用自: AppDelegate.o 中的 objc-class-ref

对于我的一生,我无法弄清楚这一点。我用各种没有帮助的解决方案搜索了谷歌和 SO。

我想让它与 Cocoapods 一起工作,因为我已经完成了现在安装它的所有工作。

【问题讨论】:

  • 我遇到了同样的问题。然后我使用豆荚,它工作正常。
  • Pods 也不适合我。您是否在代码中引用了 FIRApp?一旦我这样做,我就会得到错误。
  • 是的。我在 appDelegate 中写 [FIRApp configure];
  • 好的,谢谢。那是引起我问题的线。你能告诉我你的带库的链接库是什么样的吗?也许我在那里遗漏了什么?
  • 当然。 check this image。确保您使用工作区文件打开了项目。

标签: ios objective-c firebase


【解决方案1】:

首先,在您的项目根目录中尝试pod update 命令。如果您在此处看到类似于target overrides the OTHER_LDFLAGS build setting defined in ... 的警告,请检查您的目标的构建设置。您会在那里找到Other Linker Flag 属性。将其值设置为$(inherited)

这解决了我的问题。

【讨论】:

  • 调试配置没有问题。我遇到了发布版本的问题。看起来你的解决方案对我有用。非常感谢!
【解决方案2】:

我是 carthage 的粉丝,但 firebase 只能通过手动或 cocoapods,所以我使用 cocoapods,我只是通过将 Other Linker Flag 属性设置为 $(inherited) 来解决这个问题。

【讨论】:

    【解决方案3】:

    卸载与 firebase 相关的 pod

    #pod 'Firebase/Core
    
    #pod 'Firebase/RemoteConfig'
    

    然后

    pod install
    

    重新安装 pod

    pod 'Firebase/Core'
    
    pod 'Firebase/RemoteConfig'
    

    然后

    pod install
    

    【讨论】:

    • 太棒了!这刚刚对我有用。相当于将其关闭再打开的编码...
    【解决方案4】:

    尝试更新 pod,如果不起作用则 . 从 pod 文件中删除框架 .运行“pod 更新” . 将框架添加回 pod 文件 .run "pod update"

    它对我有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-06
      • 2018-05-06
      • 2015-12-04
      • 1970-01-01
      • 2014-11-07
      • 2016-11-07
      • 2015-03-22
      • 1970-01-01
      相关资源
      最近更新 更多