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

运行npm run ios时Xcode中CompileC错误的解决方法

解决React Native iOS构建失败(退出码65):Yoga部署版本不兼容问题

核心问题

Pods项目中Yoga目标的IPHONEOS_DEPLOYMENT_TARGET设为11.0,超出当前Xcode支持的12.0-17.0.99范围,导致CompileC编译Yoga.cpp失败。

可行解决方案

方案一:通过Podfile强制统一所有Pods的部署版本

这是最稳妥的长期解决方案,避免后续新增Pods出现同类问题:

  1. 打开项目iOS目录下的Podfile
  2. 在文件末尾添加以下Ruby脚本:
post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      # 设置为Xcode支持的最低版本,这里以12.0为例
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
    end
  end
end
  1. 进入iOS目录执行重新安装Pods:
cd ios && pod install
  1. 重新执行构建命令:
npx react-native run-ios

方案二:手动修改Yoga目标的部署版本(临时快速修复)

适合不想修改Podfile的场景:

  1. 打开iOS目录下的Pods/Pods.xcodeproj文件
  2. 在Xcode左侧导航栏找到Yoga目标(位于Pods项目下)
  3. 选中Yoga目标,切换到Build Settings标签页
  4. 搜索IPHONEOS_DEPLOYMENT_TARGET,将版本值修改为12.0或Xcode支持的其他版本
  5. 保存后直接重新执行构建命令

方案三:更新React Native版本(适配现代Xcode)

如果项目允许版本升级,新版本React Native通常已将Yoga的部署版本适配到现代Xcode要求:

  1. 备份项目代码后,执行React Native升级命令:
npx react-native upgrade
  1. 或通过包管理器更新react-native依赖:
# npm
npm install react-native@latest
# yarn
yarn add react-native@latest
  1. 重新安装Pods并构建项目

额外检查项

  • 确认项目本身的IPHONEOS_DEPLOYMENT_TARGET也设置为12.0及以上
  • 清理构建缓存避免残留问题:
npx react-native clean

或在Xcode中执行Product > Clean Build Folder

内容的提问来源于stack exchange,提问作者ABEY SAJI KURIAN

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 05:16:16