使用 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 添加为排除架构
接受的答案对我也有用。但我不知道该怎么做,因为我以前从未这样做过,所以我想向您展示我完成此操作所采取的步骤。
- Select 您在项目导航器中的项目
- Select 您在项目设置中的项目
- 在顶部,select“构建设置”
- 然后select“全部”显示所有构建设置
- 在顶部,您会看到一个名为“架构”的部分。在本节中是“排除的体系结构”。你想扩大这个。然后在 Debug、double-click 旁边输入“arm64”。
要仅在模拟器上 运行 时排除 arm64 架构,请在构建设置中添加“任何 iOS 模拟器 SDK”限定符。然后在物理设备上测试时就不必删除此设置。
要添加限定符,请单击小加号按钮,如图所示。
Xcode 12,测试版 6
Valid Architectures 构建设置已在 Xcode12 中删除。如果您在此构建设置中有值,则它们会导致问题,需要将其删除。
我能够通过将 VALID_ARCHS 构建设置重新添加为 User-Defined 构建设置(没有值),运行 项目(其中失败),然后删除 VALID_ARCHS 构建设置。
我的架构构建设置是标准架构。
似乎在将 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 添加为排除架构
接受的答案对我也有用。但我不知道该怎么做,因为我以前从未这样做过,所以我想向您展示我完成此操作所采取的步骤。
- Select 您在项目导航器中的项目
- Select 您在项目设置中的项目
- 在顶部,select“构建设置”
- 然后select“全部”显示所有构建设置
- 在顶部,您会看到一个名为“架构”的部分。在本节中是“排除的体系结构”。你想扩大这个。然后在 Debug、double-click 旁边输入“arm64”。
要仅在模拟器上 运行 时排除 arm64 架构,请在构建设置中添加“任何 iOS 模拟器 SDK”限定符。然后在物理设备上测试时就不必删除此设置。
要添加限定符,请单击小加号按钮,如图所示。
Xcode 12,测试版 6
Valid Architectures 构建设置已在 Xcode12 中删除。如果您在此构建设置中有值,则它们会导致问题,需要将其删除。
我能够通过将 VALID_ARCHS 构建设置重新添加为 User-Defined 构建设置(没有值),运行 项目(其中失败),然后删除 VALID_ARCHS 构建设置。
我的架构构建设置是标准架构。