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

SwiftUI previews not working when using Firebase/Analytics pod

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

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)

有什么解决方法的建议吗?

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

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

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

如何将 arm64 添加为排除架构

接受的答案对我也有用。但我不知道该怎么做,因为我以前从未这样做过,所以我想向您展示我完成此操作所采取的步骤。

  1. Select 您在项目导航器中的项目
  2. Select 您在项目设置中的项目
  3. 在顶部,select“构建设置”
  4. 然后select“全部”显示所有构建设置
  5. 在顶部,您会看到一个名为“架构”的部分。在本节中是“排除的体系结构”。你想扩大这个。然后在 Debug、double-click 旁边输入“arm64”。

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

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

Xcode 12,测试版 6

Valid Architectures 构建设置已在 Xcode12 中删除。如果您在此构建设置中有值,则它们会导致问题,需要将其删除。

我能够通过将 VALID_ARCHS 构建设置重新添加为 User-Defined 构建设置(没有值),运行 项目(其中失败),然后删除 VALID_ARCHS 构建设置。

我的架构构建设置是标准架构。