FIRApp 链接器错误 ["_OBJC_CLASS_$_FIRApp"]

Posted

技术标签:

【中文标题】FIRApp 链接器错误 ["_OBJC_CLASS_$_FIRApp"]【英文标题】:FIRApp Linker Error ["_OBJC_CLASS_$_FIRApp"] 【发布时间】:2016-06-03 00:48:52 【问题描述】:

我已经搜索过 SO 和 Google,但找不到有效的答案。我在多个项目中使用了新的 Firebase Cocoapod,但现在,将其添加到不同的项目时,我收到以下错误。

我正在使用 Xcode 7.3.1 和 cocoapods 1.0.1。

这是我的 podfile:

非常感谢任何帮助!

【问题讨论】:

您是否尝试过清理构建目录(选择产品>清理时按住选项)?如果这个项目也使用旧的 cocoapods,那么pod deintegrate 然后pod update 可能也值得。 @IanBarber 我试过pod deintegrate 并没有运气清理项目。最后,我通过下载 SDK 并将框架手动添加到项目中来构建项目。我只是好奇你是否知道为什么这可以代替 cocoapods?这是一个相对较旧的项目,已经在 App Store 上架了一年多。也许在构建设置中有一些东西不能很好地与新的 cocoapods 配合使用?无论如何,感谢您的帮助! 您找到解决此问题的方法了吗?坚持这个... 我不记得确切的时间了,我想我不得不从回购中撤回它并承担损失。尝试保存您所做的一切,并尝试将其与 repo 中的干净版本集成,然后添加 Firebase。 您找到解决此问题的方法了吗?如果您解决了这个问题,请帮我解决同样的问题? 【参考方案1】:

转到Build Settings > Other Linker Flags > 换行$(inherited)

执行Cmd+Ctrl+K 进行清理,然后构建。

【讨论】:

我没明白。什么新线路?调试呢,发布子项目。你可以添加截图只是为了清楚吗?谢谢! 不幸的是,这似乎不再起作用(Xcode beta 9.3),并且 CocoaPods 默认放入 $(inherited)。仍在尝试找出 2018 年的解决方案 @Max 也不适合我,向项目中手动添加框架解决了我的问题 我通过将依赖项从 Firebase/Messaging 更改为 FirebaseMessaging 来让它工作 @Max 哪个“依赖”?也不适合我。但是你具体做了什么?【参考方案2】:

取消注释此行以为您的项目定义一个全球平台

平台:ios,'9.0'

target 'AppName' do # 如果您不使用 Swift 并且不想使用动态框架,请评论此行 inhibitor_all_warnings!使用_frameworks!

FCM 的 Pod

pod 'Firebase' pod 'Firebase/Core' pod 'Firebase/Messaging'

结束

【讨论】:

以上是关于FIRApp 链接器错误 ["_OBJC_CLASS_$_FIRApp"]的主要内容,如果未能解决你的问题,请参考以下文章

架构 armv7 的未定义符号:“_OBJC_CLASS_$_FIRApp”

FIRApp 配置失败并显示“配置持久深度链接失败”

Firebase ionic iOS 错误 - [FIRApp isDataCollectionDefaultEnabled]:无法识别的选择器

Apple Mach-O链接器错误_OBJC_CLASS _ $ _ FIRInstanceID

解析和 Paypal 链接器错误

构建登录演示时的链接器错误