无法为 M1 模拟器编译。链接到为 iOS 构建的目标文件,文件 ... 用于体系结构 arm64

cannot compile for M1 Simulator. Linking in object file built for iOS, file ... for architecture arm64

我最近买了一台新的M1 Macbook,专门用于IOS开发。在使用 cocoapods 和 xcode 设置我的工作区后,我发现我无法在模拟器中测试我的应用程序。我已经看到一些解决方案,人们建议将 arm64 添加到排除的体系结构列表中。但这似乎不起作用。我相信这是针对 intel mac 而非 M1 的解决方案,因为 M1 是 arm64。

这是完整的错误代码

在 /Users/michaellam/Documents/GitHub/Send-Story/Pods/FirebaseAnalytics/Frameworks/FIRAnalyticsConnector.framework/FIRAnalyticsConnector(FIRAnalyticsConnector_a8eeba373b74508311b8b22b8d3202a6.o) 中,为 iOS 模拟器构建,但在为 iOS 构建的目标文件中链接,文件 '/Users/michaellam/Documents/GitHub/Send-Story/Pods/FirebaseAnalytics/Frameworks/FIRAnalyticsConnector.framework/FIRAnalyticsConnector' 用于架构 arm64 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

运行 pod update 更新到最新版本的 FirebaseAnalytics - 当前为 7.7.0 - 完全支持 M1 Macbook 开发。

有关何时在 release notes 中添加 Firebase 支持的更多详细信息。

重要提示:

The following solution is just a workaround in a case when your project is using any third-party library which actually doesn't support the architecture. As mentioned by @itskoBits performance issue is a real thing in this case.

打开你的取景器

转到

Applications -> right-clickXcode -> select get info

在常规选项卡下,确保 Open using Rosetta 选项已为 M1 mac 编辑 select。