在 Macbook M1 上的 Xcode 12.4 中构建后,在 IOS 上的 React Native 中找不到 YogaKit.modulemap

时间:2021-02-27 09:37:21

标签: ios xcode react-native debugging apple-silicon

只需在新的 Macbook M1 上创建一个新的 React Native 项目。起初它是在 Xcode 12.4 上构建的,但有任何问题。但几天后构建失败并出现错误:

<块引用>

致命错误:找不到模块映射文件'/Users/jocoders/Library/Developer/Xcode/DerivedData/CryptoWalletApp-hfiwvoyqlbgufkgtyvqtxygiaodf/Build/Products/Debug-iphonesimulator/YogaKit/YogaKit.modulemap'

我已经尝试过,但没有任何效果:

  1. 检查了 cocoapods 构建目标,它与我的项目构建目标版本相同 https://github.com/facebook/react-native/issues/28503#issuecomment-643744117
  2. 重建一个项目;
  3. 使用命令 arch -x86_64 pod install 安装 pod;
  4. 将 arm64 放入 Xcode 排除架构 https://github.com/facebook/react-native/issues/28503#issuecomment-770378485

各位大侠能告诉我怎么解决吗?现在可以在新的 Macbook M1 上为 React Native 进行开发吗?我已经有几个星期了,但仍然不能在 IOS 上工作,因为它太痛苦了,很多错误。我在等待更多来自 Android 的惊喜,而不是 IOS,但在真正的 Android 中,没有任何问题。

2 个答案:

答案 0 :(得分:2)

我一整天都在试图找到这个决定,除了它对我没有任何帮助:请尝试通过 Rosetta 打开 Xcode - 在应用程序文件夹中右键单击 Xcode -> 获取信息 -> 将 Open with Rosetta 设置为 true

答案 1 :(得分:0)

当您尝试在 M1(Apple Silicon Chip) 中使用以下命令创建项目时:

npx react-native init ProjectName

尝试使用以下步骤构建:

  1. 打开终端并安装 rosetta
  2. 在终端中输入“softwareupdate — install-rosetta”命令。
  3. 安装完成后,转到应用程序。
  4. 查找终端应用
  5. 右键单击并创建一个重复的终端
  6. 现在右键单击重复的终端,然后单击“获取信息
  7. 您将看到带有“使用 Rosetta 打开”选项的复选框。启用它。 Rosetta checkbox in terminal
  8. 就是这样。重命名您的 rosetta 终端,以便您可以轻松识别它。
  9. 打开您的 Rosetta 终端并运行命令 npx react-native init ProjectName
  10. 项目初始化完成后,输入 npx react-native start to start Metro。
  11. 现在输入命令 npx react-native run-android 以运行 Android
  12. 输入命令 npx react-native run-ios 以运行到 iOS。
  13. 项目初始化完成后,您也可以在 VS Code 中运行 startrun 命令。