这个是晦涩难懂的,但请随时询问更多信息,我可以提供。
背景:我有一台 M1 Mac,正在做 React Native 开发。在没有 Rosetta 的情况下,我已经完成了大部分工作。在活动监视器中以“英特尔”类型运行的唯一进程是 Xcode(但仅当我检查在 Rosetta 中运行时)和模拟器二进制文件。我希望能够完全移除 Rosetta 并确保我完全在 arm64 上。
如果我创建一个新的 react-native 项目,它可以在 M1 下原生构建和运行(Xcode 不在 Rosetta 中),并且模拟器二进制文件是 arm64。但是如果我使用一些现有的项目,我可以调整它们以使用在 arm64 下运行的 Xcode 进行构建,但生成的模拟器二进制文件仍然是 x86。我试图比较现有项目和新项目之间的差异,但我无法弄清楚为什么现有项目正在创建 x86 模拟器图像。
为什么在没有 Rosetta 的情况下在 Xcode 下构建的项目会创建 x86 模拟器二进制文件?我已按照这些资源中的说明在没有 Rosetta 的情况下在 Xcode 中构建项目,但结果仍然是 x86 图像。我希望它创建一个 arm64 模拟器图像。
https://github.com/aiba/react-native-m1/blob/main/README.md
许多 M1 的 react-native 指南都说要排除 arm64 架构 - 为什么?如果我们在没有 Rosetta 的 arm64 Mac 上运行,难道我们不想包含 arm64 吗?
对于开放式问题,我很抱歉,但我在这里努力解决这个问题。我的公司正在过渡到 M1 Mac,我想通过整理这些东西来展示主动性。M1 上的所有开发人员仍然使用 Rosetta。非常感谢。同样,如果您要求更多信息,我会提供。