安装 Firebase pod 后出现链接器错误

Posted

技术标签:

【中文标题】安装 Firebase pod 后出现链接器错误【英文标题】:Linker error after installing Firebase pod 【发布时间】:2017-04-21 06:42:23 【问题描述】:

我是 ios 应用开发的初学者。我目前正在做一个需要从 Parse 更改为 Firebase 的项目。

我按照firebase 站点的指示安装了可可豆荚和“firebase/corepod。 在 appdelegate.h 中导入 firebase.h 在“didfinishlaunchingwithoptions”中添加了[FIRApp configure]; 在项目中添加了“googleservice-info.plist”。

完成这些步骤后,我运行了构建,但失败并出现以下错误 (Screen Shot)

显示最近的问题

Ld /Users/../Build/Products/Debug-iphonesimulator/Example.app/Example

Apple Mach-O 链接器错误组

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_FBAppCall", referenced from:
      objc-class-ref in ParseFacebookUtils(PFFacebookAuthenticationProvider.o)
  "_OBJC_CLASS_$_FBSession", referenced from:
      objc-class-ref in ParseFacebookUtils(PFFacebookAuthenticationProvider.o)
  "_FBTokenInformationExpirationDateKey", referenced from:
      -[PFFacebookTokenCachingStrategy cacheTokenInformation:] in ParseFacebookUtils(PFFacebookTokenCachingStrategy.o)
      -[PFFacebookTokenCachingStrategy expirationDate] in ParseFacebookUtils(PFFacebookTokenCachingStrategy.o)
      -[PFFacebookTokenCachingStrategy setExpirationDate:] in ParseFacebookUtils(PFFacebookTokenCachingStrategy.o)
  "_OBJC_METACLASS_$_FBSessionTokenCachingStrategy", referenced from:
      _OBJC_METACLASS_$_PFFacebookTokenCachingStrategy in ParseFacebookUtils(PFFacebookTokenCachingStrategy.o)
  "_OBJC_CLASS_$_FBSessionTokenCachingStrategy", referenced from:
      _OBJC_CLASS_$_PFFacebookTokenCachingStrategy in ParseFacebookUtils(PFFacebookTokenCachingStrategy.o)
  "_OBJC_CLASS_$_FBRequest", referenced from:
      objc-class-ref in ParseFacebookUtils(PFFacebookAuthenticationProvider.o)
  "_FBTokenInformationUserFBIDKey", referenced from:
      -[PFFacebookTokenCachingStrategy facebookId] in ParseFacebookUtils(PFFacebookTokenCachingStrategy.o)
      -[PFFacebookTokenCachingStrategy setFacebookId:] in ParseFacebookUtils(PFFacebookTokenCachingStrategy.o)
  "_FBTokenInformationTokenKey", referenced from:
      -[PFFacebookTokenCachingStrategy accessToken] in ParseFacebookUtils(PFFacebookTokenCachingStrategy.o)
      -[PFFacebookTokenCachingStrategy setAccessToken:] in ParseFacebookUtils(PFFacebookTokenCachingStrategy.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我知道这与我项目中的解析代码有关,但我对 Parse 或 Firebase 的了解不多。

请帮助我解决这个错误并指导我如何成功地从 Parse 迁移到 Firebase。

【问题讨论】:

【参考方案1】:

如果您使用 Parse SDK,只需让您从项目中删除 ParseFacebookUtils.framework 库或从您的 podfile 中删除

pod 'Parse'
pod 'ParseFacebookUtilsV4'

【讨论】:

只删除 ParseFacebookUtils.framework 可以吗?还有一个名为 Parse.framework 的框架,我也必须删除它吗? 我认为是的。试试看:) 谢谢,构建成功。但是

以上是关于安装 Firebase pod 后出现链接器错误的主要内容,如果未能解决你的问题,请参考以下文章

使用 pod install 后出现 Swift 错误(clang:错误:链接器命令失败,退出代码为 1)

Xcode:Pod 安装后构建失败(错误:链接器命令失败,退出代码 1)

pod firebase 到 Xcode 的错误

如何解决 Firebase 中的 Apple Mach-O 链接器错误?

Firebase 安装

安装Firebase后运行pod install --repo-update时出错