如何解决Cocoapods 项目无法在 Apple Silicon / M1 Mac 上构建
在您认为这是重复之前:
关于这个失败的帖子有好几篇,但大多数是与 M1 Mac 无关的旧帖子,有些有相互矛盾的解决方案。这篇文章仅适用于使用 Cocoapods 并具有以下设置的 M1 Mac:
设置
- Cocoapods 1.10.1
- Cocoapods 配置启用了
isSelected
和generate_multiple_pod_projects
- 终端设置为使用 Rosetta 2 来解决 Cocoapods 的问题
- 使用了多个库,例如 Firebase、RxSwift 等和 NearbyMessages
问题
编译项目(在英特尔计算机上运行)会为来自 Google 的 NearbyMessages 库产生以下错误:
incremental_installation
最常见的建议是将 arm64 添加到“Excluded Architectures”并将“Build Active Architectures Only”设置为 YES(这是默认设置)。 Other posts 说后者应该是 NO。将此设置为“否”会给我错误 In /Users/user/Pods/NearbyMessages/Libraries/libGNSMessages.a(GNSAudioModem.o),building for iOS Simulator,but linking in object file built for iOS,file '/Users/user/Pods/NearbyMessages/Libraries/libGNSMessages.a' for architecture arm64
。
将 arm64 添加到“排除的架构”还意味着我需要将以下安装后安装到 Pod 文件中的所有生成的项目(因为我使用的是 No such module 'RxSwift'
):
generate_multiple_pod_projects
我想了解的是这是否是正确的方法。不仅尝试不同的设置并希望获得最佳效果,还要了解为什么这会有所帮助。当M1芯片是arm64时,为什么要排除arm64?我是否使用了错误的解决方案?任何帮助将不胜感激。
解决方法
NearbyMessages 二进制 pod 分发版尚未更新切片以支持 M1 Mac。因此,无法将其链接到应用程序并为模拟器构建。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。