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

Expo 48裸工作流下如何用EAS构建iOS内部测试分发版本?

iOS EAS Build 非交互式构建(Ad Hoc)失败解决方案

问题背景

已在Expo 48项目中添加原生代码,可通过Xcode/Android Studio手动构建生产版本并上传应用商店,但使用EAS构建Ad Hoc配置的内部预览版本(用于QA测试)时,iOS端持续报错,Android端正常。

原构建命令(裸工作流前可正常使用):

eas build --platform ios --profile internal --non-interactive --json

报错信息:

Failed to set up credentials.
You're in non-interactive mode. EAS CLI couldn't find any credentials suitable for internal distribution. Run this command again in interactive mode.
    Error: build command failed.
Error: Process completed with exit code 1.

解决步骤

  • 提前在交互式模式下配置并保存iOS凭据
    首次在本地以交互式运行构建命令,让EAS CLI自动生成或关联适配Ad Hoc分发的证书与描述文件,完成后EAS会将凭据存储在服务器供后续复用:

    eas build --platform ios --profile internal
    
  • 校验eas.json的internal配置
    确保eas.json中internal构建配置明确指定分发类型为ad-hoc,示例如下:

    {
      "build": {
        "internal": {
          "ios": {
            "distribution": "ad-hoc",
            "provisioningProfile": "你的Ad Hoc描述文件名称" // 可选,指定已存在的描述文件
          },
          "android": {
            // 你的Android构建配置
          }
        }
      }
    }
    
  • 手动上传自定义凭据到EAS服务器
    若已有手动创建的Ad Hoc证书和描述文件,可通过以下命令关联到对应构建配置:

    eas credentials --platform ios
    

    选择"Manage credentials for build profiles",为internal配置关联已有的Ad Hoc凭据。

  • 配置CI环境的EAS权限
    在CI/CD套件中添加EXPO_TOKEN环境变量(从Expo项目控制台生成),确保CI进程有权限访问存储在EAS服务器上的iOS凭据。

  • 同步本地与EAS凭据(可选)
    若本地原生配置有修改,可同步EAS服务器上的凭据到本地项目:

    eas credentials sync --platform ios
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 11:35:02