Xcode 12:FIRAnalyticsConnector上的构建错误

kyks70gy  于 2023-02-16  发布在  其他
关注(0)|答案(9)|浏览(194)

升级到Xcode 12后,我的项目不再为模拟器构建。
我得到的错误是:

ld: in ... /Pods/FirebaseAnalytics/Frameworks/FIRAnalyticsConnector.framework/FIRAnalyticsConnector(
FIRAnalyticsConnector_e321ed8e3db06efc9803f6c008e67a34.o), 
building for iOS Simulator, but linking in object file built for iOS, file
'.../Pods/FirebaseAnalytics/Frameworks/FIRAnalyticsConnector.framework/FIRAnalyticsConnector'
for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

一个解决方案是将arm64添加到我的项目〉构建设置〉排除的架构,但这样它就不会为我的真实设备构建。
我已经尝试清理构建文件夹、更新pod文件、重新启动等。
我正在使用:

  • 火力基地/分析(6.33.0)
  • xcode 12.0.1(12A7300)
  • 可可豆:1.9.3

有什么想法吗?

l7wslrjt

l7wslrjt1#

好的,我终于找到了这个问题的解决方法。
对于“发布”,将“仅构建活动体系结构”更改为“是”。
选择项目〉“构建设置”〉“目标”(您的目标)〉“体系结构”可以找到该设置

来源和更详细的解释可以在这里找到:
https://stackoverflow.com/a/64139830/4134160
请注意,这个问题与Firebase无关。我仍然离开它,因为它可能会导致其他人遇到这个问题,并帮助他们解决这个问题。

苹果硅

如果你用的是苹果的硅芯片,不妨考虑@白杨的回答:https://stackoverflow.com/a/65460729/4134160

i2byvkas

i2byvkas2#

在为主项目和Pods项目添加了arm64Excluded Architectures之后,我能够解决我在Apple M1上遇到的这个问题。
我还必须清除DerivedData文件夹并重新启动Xcode。
有关详细信息,请参阅:https://medium.com/@khushwanttanwar/xcode-12-compilation-errors-while-running-with-ios-14-simulators-5731c91326e9

mlmc2os5

mlmc2os53#

我通过在Rosetta(Apple M1)下运行xcode 12修复了这个问题。
打开Finder -〉应用程序-〉定位Xcode -〉右键单击-〉获取信息-〉使用rosetta检查打开。
然后重新打开Xcode。

sr4lhrrt

sr4lhrrt4#

我的情况有点不同。根据这个Firebase工程师的说法,
FIRAnalyticsConnector现在是FirebaseAnalytics的xcframework版本的一部分,不需要链接。
进入目标Build Settings(不是项目),搜索Other Linker Flags,然后从列表中删除FIRAnalyticsConnector,为我解决了这个问题。
有趣的是,当我运行pod deintegratepod install时,它并没有解决这个问题。

3vpjnl9f

3vpjnl9f5#

运行pod install后,在Xcode v12.4中出现相同问题。
在我的项目中进行了一些搜索之后,我终于在Link Binary With Libraries部分中的目标Build Phases下找到了对它的引用。从列表中删除FIRAnalyticsConnector.framework解决了我的问题。

gopyfrb3

gopyfrb37#

从目标-〉“构建设置”-〉OTHER_LDFLAGS的列表中删除-framwork“FIRAnalyticsConnector”

ykejflvf

ykejflvf8#

如果你在苹果硅胶上运行新的MacBook Pro M1处理器。这是一个已知的问题。
Firebase not compiling on Apple Silicone

7lrncoxx

7lrncoxx9#

我用Rosetta打开了Xcode。

步骤1 -安装

自制(推荐)

brew install 417-72KI/tap/xcode-arch

用法

$ xcode-arch -p
arm64 # `Open using Rosetta` is off
$ xcode-arch -c
Set x86_64 for /Applications/Xcode.app
$ xcode-arch -p
x86_64 # `Open using Rosetta` is on
$ xcode-arch -u
Set arm64 for /Applications/Xcode.app
$ xcode-arch -p
arm64 # `Open using Rosetta` is off

相关问题