微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Apple M1 芯片上的 Firebase 分析和其他模块

如何解决Apple M1 芯片上的 Firebase 分析和其他模块

我在我的 SwiftUI 2 应用程序中使用 Firebase 和 SDWebImageSwiftUI 模块,在我的 Apple M1 MacBook Pro 上使用 Xcode 12.3 和 Cocoapod 1.10.0。

只要我不通过 Cocoapod 集成 Firebase Analytics 模块,应用程序就可以正常工作,但是当我集成它时,我得到与这里的人相同的错误Xcode 12,building for iOS Simulator,but linking in object file built for iOS,for architecture arm64。他的解决方案也适用于我(不包括项目和 pod 的 arm64 架构)。

然而,现在 SDWebImageSwiftUI 模块(通过 swift 包管理器包含)抱怨“找不到目标'x86_64-apple-ios-simulator'的模块'SDWebImageSwiftUI';找到:arm64,arm64-apple-ios-simulator”。如果我通过 Cocoapod 包含该模块,那么编译器会说“没有这样的模块“SDWebImageSwiftUI”。

你们中有人知道我能做什么吗?

非常感谢任何帮助

解决方法

来自 https://github.com/firebase/firebase-ios-sdk/blob/master/AppleSilicon.md 的说明:

在 Podfile 中指定您想要的 Firebase 版本时,将 -M1 附加到版本。请参阅以下示例:

明确要求特殊的 M1 标记的 Firebase 版本,锁定到确切版本。笔记 由于版本方案,您需要为每个版本手动更新它,否则 您将恢复到正式版本(例如 7.2.0 而不是 7.2.0-M1)。

pod 'Firebase/Analytics','7.2-M1'

对使用的任何其他 Firebase pod 执行相同的操作。

pod 'Firebase/数据库','7.2-M1'

记住:现在您需要手动添加 -ObjC 以避免运行时崩溃。此 CocoaPods 问题已在 CocoaPods/CocoaPods#10234 中修复,并在即将发布的 CocoaPods 1.10.1 补丁版本中合并。

,

选中“使用 Rosetta 打开”选项(如下面的屏幕截图所示)帮助我解决了这个问题。错误消失后,您可以在没有 Rosetta 的情况下切换回并打开 Xcode。

Property dialog for Xcode with "Open with Rosetta" checked

,

您不再需要根据 Firebase 的更新附加 M1。您可以在链接上查看更多说明。

从 Firebase 7.5.0 开始,Firebase 通过 CocoaPods 支持 Apple Silicon Macs。需要 CocoaPods 1.10.0。

不再需要 FirebaseAnalytics 支持 7.2.0 到 7.4.0 版本所需的特殊 M1 版本。

https://github.com/firebase/firebase-ios-sdk/blob/master/AppleSilicon.md

,

试试这个: 在你的根 sudo arch -x86_64 gem install ffi cd 到您的项目文件夹和 arch -x86_64 pod install

,

请看一下这个。 https://stackoverflow.com/a/68037246/4862289

转到应用程序文件夹->右键单击终端应用程序->获取信息

勾选使用 Rosetta 打开选项。

立即尝试while true do # or whatever command you need to run rm -rf /var/www/some-directory sleep 10 done

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?