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

React Native iOS多构建方式报错求助(Xcode/CLI/run-ios)

React Native iOS 多构建方式失败排查方案

环境版本

node -v: v22.12.0
npm -v: 10.9.0
pod --version: 1.16.2
xcodebuild -version: Xcode 16.2
Build version 16C5032a

构建错误详情

1. Xcode GUI 构建错误

清理后构建触发Sandbox权限拒绝,无法读写hermes.framework相关文件,rsync返回错误码23。

2. xcodebuild CLI 构建错误

执行清理构建命令后,多个ReactCodegen编译任务失败,同时出现脚本阶段无输出警告。

3. npx react-native run-ios --verbose 错误

抛出non-modular-include-in-framework-module错误,伴随Sandbox权限拒绝,xcodebuild返回错误码65。

已尝试方案

  • 启用新架构:执行RCT_NEW_ARCH_ENABLED=1 pod install
  • 确认项目路径无空格、特殊字符
  • 移除项目目录扩展属性:xattr -cr <项目路径>
  • 禁用Hermes脚本阶段的「基于依赖分析」选项
  • 删除.xcode.env.local并重新生成Pods

针对性解决方案

针对Sandbox权限/rsync错误(Xcode GUI、run-ios)

  1. 检查Xcode派生数据路径
    打开Xcode偏好设置 → 位置,确认「派生数据」路径无特殊字符;若路径异常,点击「高级」选择「自定义」,设置到短路径(如~/XcodeDerivedData)。
  2. 修复Hermes框架权限
    • 手动删除ios/Pods/Hermes-engine目录,重新执行pod install
    • 在终端执行命令修正框架权限:
      chmod -R 755 ios/Pods/Hermes-engine/destroot/Library/Frameworks/hermes.framework
      
  3. 临时调整沙箱权限
    进入项目target的「签名与功能」,若项目无需沙箱,可临时关闭「App Sandbox」选项;若需要则确保文件读写相关权限已开启。

针对ReactCodegen编译失败(xcodebuild CLI)

  1. 彻底清理缓存并重建依赖
    执行以下命令清理后重新安装:
    rm -rf node_modules ios/Pods ios/build
    npm install
    cd ios && pod deintegrate && pod install && cd ..
    
  2. 手动触发Codegen生成
    执行命令强制生成Codegen文件:
    npx react-native codegen ios
    
  3. 兼容旧构建系统
    使用xcodebuild时添加参数切换到旧构建系统:
    xcodebuild clean build -workspace YourApp.xcworkspace -scheme YourApp -configuration Debug -sdk iphonesimulator -UseModernBuildSystem=NO
    

针对non-modular-include-in-framework-module错误(run-ios)

  1. 修改框架导入方式
    定位到报错文件,将#include "xxx.h"改为#import <ModuleName/xxx.h>(替换为对应第三方库的模块名)。
  2. 开启非模块化导入允许
    打开项目target的「Build Settings」,搜索「Allow Non-modular Includes In Framework Modules」,设置为YES。
  3. 强制第三方库模块化
    在Podfile中给报错的第三方库添加模块化配置:
    pod 'ProblematicPod', :modular_headers => true
    

通用验证步骤

  1. 重启Xcode和终端,确保无残留进程
  2. 确认Xcode命令行工具版本与GUI一致:执行xcode-select -p,若路径不符则执行sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
  3. 先通过npx react-native run-ios测试构建,再切换到Xcode GUI验证

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 05:42:40