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

Dev方案Pipeline运行正常,UAT方案在Azure DevOps中报退出码65失败

解决Azure DevOps UAT Pipeline编译错误:找不到RCTAppDelegate.h(退出码65)

核心问题分析

Dev方案构建正常但UAT失败,说明问题出在UAT方案的配置或Pipeline执行流程差异上,核心是编译阶段无法定位React Native的RCTAppDelegate.h头文件,导致xcodebuild进程退出码65。

针对性修复步骤

1. 确保UAT方案的Pod依赖正确安装

Dev环境依赖正常,但Pipeline中UAT可能未正确执行pod安装,或安装目标不匹配:

  • 在iOS构建步骤前添加指定UAT方案的pod安装命令:
    cd ios && pod install --project-directory=. --scheme UAT
    
  • 若启用了CocoaPods缓存,直接禁用缓存重新安装,避免旧依赖残留。

2. 同步UAT与Dev的头文件搜索路径

打开Xcode项目,对比Dev方案,检查UAT方案的Build Settings -> Header Search Paths:

  • 确认包含React Native核心头文件路径,例如$(SRCROOT)/Pods/Headers/Public/React-Core
  • 勾选路径的Recursive选项,确保递归搜索子目录
  • 把Dev方案中存在、UAT缺失的路径全部同步添加

3. 修正AppDelegate.h的导入语句

避免使用相对路径导致UAT环境下路径失效:

  • 将导入语句改为标准框架导入:#import <React/RCTAppDelegate.h>
  • 若使用自定义路径,确认该路径在UAT方案的目录结构中存在

4. 清理Pipeline构建缓存与衍生数据

Azure DevOps缓存可能导致环境不一致:

  • 在Pipeline中添加清理步骤:
    rm -rf ~/Library/Developer/Xcode/DerivedData
    cd ios && rm -rf Pods Podfile.lock
    
  • 执行清理后重新安装依赖并触发构建

5. 对齐Dev与UAT的React Native版本

检查版本一致性:

  • 查看package.json中react-native版本,确保UAT未单独指定不同版本
  • 确认Pipeline中npm依赖安装步骤未针对UAT做差异化版本处理

6. 排查UAT方案的构建脚本差异

对比Dev与UAT的Build Phases:

  • 查看UAT是否有额外脚本删除/修改了React Native依赖文件
  • 确保所有构建脚本的执行路径在UAT环境下与Dev一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 15:27:09