firebase 未定义符号:_OBJC_CLASS_$_FIRAApp

zpf6vheq  于 2023-05-18  发布在  其他
关注(0)|答案(5)|浏览(233)

我正在尝试使用Swift包管理器添加Firebase Analytic和Firebase Crashlytics这里是git for firebase SDK的链接
https://github.com/firebase/firebase-ios-sdk
之后,我在AppDelegate文件中添加这两行

import <FirebaseCore/FIRApp.h>

导入<Firebase.h>

一切正常,直到我添加此[FIRApp configure];获取错误
架构arm 64的未定义符号:“OBJC_CLASS$_FIRApp”,引用自:HWOFAppDelegate. old中的objc-class-ref:symbol(s)not found for architecture arm64 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
我去想每一个链接的堆栈溢出类似的问题,尝试每一个解决方案,但没有帮助我喜欢改变其他链接器标志等…请帮助我..我真的很感激...我正在使用Xcode 12.1与Objective-C这里是一个错误的截图,我得到

和添加的依赖关系的屏幕截图

lo8azlld

lo8azlld1#

经过这么多的搜索,我解决了问题。解决方案是
1.其他链接器标志中的“$(继承)”
1.仅将Active Architecture值设置为“是”
1.为firebase SPM添加运行脚本为“${BUILD_DIR%Build/*}SourcePackages/checkout/firebase-ios-sdk/Crashlytics/run”
1.清洁项目
1.构建项目

jjjwad0x

jjjwad0x2#

我在最近的工作中集成MLKit时遇到了同样的问题。该应用程序在模拟器和设备上运行良好,但当我试图归档构建时,它开始向我抛出以下错误-:

Undefined symbol: _OBJC_CLASS_$_MLKFaceDetector

我在文件中使用MLKFaceDetector对象。

分辨率:-

转到Build Settings -> Architectures -> Replace standard architectures witharm 64。此外,确保臂和64之间没有空间。
我理解的原因是MLKit只支持64位而不是32位,因为我们使用的是针对32位和64位的标准架构,所以Xcode在归档32位时无法找到MLKit文件。因此,我们明确地说Xcode只适用于64位而不是32位。

缺点-它将不支持一些旧的iOS设备。

eivgtgni

eivgtgni3#

最后,我找到了解决方案,对我来说,将iOS部署目标更改为比以前更高的版本。我的版本是9.0,我把它更改为13。
Target-General- deployment info

0md85ypi

0md85ypi4#

可以试试这个它会有帮助的,
将Linking -> Mach-O Type更改为Dynamic Library,对于您使用的框架,它就可以正常工作了。

8hhllhi2

8hhllhi25#

我不得不将我的操作系统和xcode更新到最新版本才能工作。

相关问题