You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS模拟器更新后React Native编译Yoga.cpp失败求助

React Native iOS编译Yoga.cpp失败(Xcode 14.3 + RN 0.64.2)

问题描述

我一直在开发一款React Native应用,此前构建完全正常。更新iOS模拟器后,模拟器被重置、已安装应用全部消失,现在构建iOS版本时出现编译失败,报错为:

CompileC Yoga.cpp normal arm64 c++ com.apple.compilers.llvm.clang.1_0.compiler(属于Pods项目的Yoga目标)

Android端构建正常,已尝试过以下操作但无效:

rm -rf Pods
rm -rf ~/Library/Developer/Xcode/DerivedData/*
pod deintegrate
pod setup

当前环境版本:

"react-native": "0.64.2",
Xcode: Version 14.3

构建命令:

npx react-native run-ios --simulator="iPhone 14"

解决方案

1. 调整Xcode架构设置

React Native 0.64.x版本对Xcode 14+的新架构支持存在兼容问题,手动修改项目架构:

  • 打开iOS项目的Pods.xcodeproj
  • 找到Yoga目标,进入Build Settings
  • 搜索Architectures,将Architectures设置为$(ARCHS_STANDARD),同时在Excluded Architectures中添加arm64(仅针对模拟器)
  • 主项目的Build Settings也做相同调整

2. 更新Yoga编译配置

在项目的Podfile中添加Yoga的编译参数,强制使用兼容的C++标准:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    if target.name == "Yoga"
      target.build_configurations.each do |config|
        config.build_settings['CLANG_CXX_LANGUAGE_STANDARD'] = 'c++17'
        config.build_settings['CLANG_CXX_LIBRARY'] = 'libc++'
      end
    end
  end
end

添加完成后执行pod install重新安装依赖。

3. 深度清理后重新构建

除已执行的操作外,补充以下步骤:

  • 打开Xcode,点击Product -> Clean Build Folder(快捷键Cmd+Shift+K)
  • 关闭Xcode,删除iOS项目的build目录:
rm -rf ios/build
  • 重新执行构建命令

4. 降级Xcode版本(备选)

由于RN 0.64.2发布时间早于Xcode 14.3,两者兼容性有限,若上述方法均无效,可考虑降级Xcode到13.x版本,该版本与RN 0.64.x适配性更好。

内容的提问来源于stack exchange,提问作者Muhammad Aqeel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 12:17:23