使用 Firebase/Analytics pod 时 SwiftUI 预览不起作用

sas*_*ash 6 ios firebase-analytics swiftui xcode12

似乎在将 Xcode 12 更新到 beta 5 后,SwiftUI 预览在使用 Firebase/Analytics pod 时不再起作用。预览失败并出现错误:

linker command failed with exit code 1 (use -v to see invocation)

----------------------------------------

SchemeBuildError: Failed to build the scheme "Boo"

linker command failed with exit code 1 (use -v to see invocation)


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

任何建议如何解决这个问题?

tri*_*ode 12

要仅在模拟器上运行时排除 arm64 架构,请在构建设置中添加“Any iOS Simulator SDK”限定符。那么在物理设备上进行测试时,您就不必删除此设置。

在此处输入图片说明

要添加限定符,请单击小加号按钮,如图所示。

在此处输入图片说明

  • 这应该是公认的答案!从模拟器切换到设备时,您不必处理添加和删除标志的问题 (2认同)
  • 重要的是,设置此参数后,您必须清理构建并删除派生数据。谢谢你的回答。 (2认同)

小智 5

以下解决方法(归功于 Apple Developer 论坛上的用户)对我有用:

为任何具有 Firebase Analytics 的目标的调试方案的排除架构添加“arm64”。

如果您需要调试到实际的 iOS 设备,这显然会给您带来问题。但是当您需要在设备上进行测试时,您可以将其删除。