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

XCode15运行react-native run-ios报YogaKit模块重定义错误如何解决?

可行解决方案

步骤1:清理缓存与旧构建产物

重定义报错大概率由残留的旧编译产物导致,先执行以下命令清理:

  • 关闭XCode,进入项目根目录依次执行:
cd ios
rm -rf ~/Library/Developer/Xcode/DerivedData/*
rm -rf Pods Podfile.lock
pod deintegrate
cd ..
rm -rf node_modules package-lock.json yarn.lock
npm install
# 若使用yarn则替换为 yarn install
cd ios
pod install

执行完成后尝试重新运行react-native run-ios,若仍报错继续下一步。

步骤2:统一Pod部署最低版本

报错提示YogaKit的iOS部署目标为8.0,低于XCode15支持的最低版本,需在ios/Podfile末尾添加如下配置统一所有Pod的最低版本:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      # 统一设置最低部署版本为12.0,兼容XCode15
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
      # 修复旧Swift代码在XCode15下的编译问题
      config.build_settings['SWIFT_VERSION'] = '5.0'
    end
  end
end

添加完成后重新执行pod install,再尝试构建。

步骤3:修复模块重定义配置

若仍报YogaKit模块重定义错误,打开XCode进行如下配置修改:

  • 进入项目主配置页->Build Settings,搜索Allow Non-modular Includes In Framework Modules,设置为YES
  • 搜索Excluded Architectures,给Debug和Release模式都添加arm64(针对模拟器运行场景)
  • 搜索Other C Flags,删除重复指向YogaKit路径的多余配置

步骤4:版本锁定适配

你使用的React Native 0.64.2属于未适配XCode15的老旧版本,可强制锁定YogaKit到兼容版本:

  • 若使用yarn作为包管理器,在package.json中添加如下配置:
"resolutions": {
  "yoga-kit": "1.14.0"
}
  • 若使用npm作为包管理器,在package.json中添加如下配置:
"overrides": {
  "yoga-kit": "1.14.0"
}

配置完成后重新安装依赖,再执行pod install即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 08:15:04