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

React Native iOS构建ExpoModulesCore相关报错调试求助

M1 Mac GitHub Actions + fastlane 构建RN项目编译报错排查方向

你贴的日志只是Xcode输出的失败阶段标记,不是真实错误根因,按以下顺序排查:

  • 首先抓真实错误日志:当前输出只标记了哪个构建阶段失败,具体错误被Xcode吞了。在fastlane的gym配置中增加xcargs: "-verbose",或者直接在CI脚本里加一步,构建失败后打印DerivedData下对应target的完整构建日志,搜索Script-46EB2E00025480.sh执行段落的fatal error、command not found、Permission denied、wrong architecture类关键字,90%的同类问题都是没找到真实报错点,在做无效排查。
  • 优先排查CI环境架构兼容问题:GitHub Actions的M1 Mac runner默认走arm64执行环境,老版本React Native(低于0.68)的FBReactNativeSpec代码生成脚本对arm64的node环境兼容很差:
    1. 加一步CI命令执行node -p "process.arch",确认输出为arm64,如果输出x64说明你装的是x86版本的node,重装arm64版本即可——架构不匹配时node执行脚本会静默崩溃,最后只留脚本执行失败的标记。
    2. 如果你的RN版本低于0.67,直接在所有pod install、fastlane、xcodebuild命令前加arch -x86_64前缀,走Rosetta转译执行,可绕过大半架构兼容问题。
  • 检查CI缓存污染问题:你本地重置node_modules、重装Pods不生效是因为CI用独立缓存,跨架构缓存(比如之前x86 runner生成的node_modules、Pods缓存被M1 runner复用)会直接导致二进制不匹配。先临时禁用GitHub Actions里的node_modules、Pods、DerivedData相关缓存,全量重装依赖跑一次,确认是不是缓存问题。
  • 修正Pod配置与脚本权限:
    1. 在Podfile的post_install钩子中增加如下配置,修正架构与签名问题:
    post_install do |installer|
      installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
          config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
          config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64'
          if target.name == 'FBReactNativeSpec'
            config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
          end
        end
      end
    end
    
    1. 执行pod install之后加一步chmod -R +x Pods/Target\ Support\ Files/Pods-*/*.sh,给所有Pods的构建脚本加可执行权限,CI拉取代码时经常丢失脚本执行权限,触发无明确提示的脚本执行失败。
  • 注意:日志里的ExpoModulesCoreSwift编译失败是连锁报错,根因是前面FBReactNativeSpec的代码生成脚本没跑成功,ExpoModulesCore找不到依赖的RN接口才编译失败,不需要单独排查ExpoModulesCore的问题,解决Generate Specs阶段的错误后这个问题会自动消失。

快速验证顺序:先开详细日志找真实报错 → 清CI全量缓存 → 验证node架构 → 补Pod配置和脚本权限 → 老版本RN切Rosetta执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 06:12:58