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

使用Azure DevOps Pipeline部署iOS应用至App Store Connect后仍需6位验证码

问题描述

我正在用Azure DevOps Pipeline实现iOS应用到Apple App Store的自动化部署,已经成功把IPA上传到App Store Connect了,但流程还是会弹出要求输入6位验证码的提示。

我的Pipeline任务代码如下:

- task: AppStoreRelease@1
  inputs:
    serviceEndpoint: 'Apps Store Connection'
    releaseTrack: 'TestFlight'
    appIdentifier: 'com.company.myapp'
    appType: 'iOS'
    ipaPath: 'output/package/some.ipa'
    appSpecificId: '1234567'

对应的Service Connection已经配置了App专用密码和Fastlane Session,采用Basic Authentication认证方式。

解决办法
  • 检查App专用密码的权限和有效性
    你在Apple ID安全设置里生成的App专用密码,必须是针对「App Store Connect」服务创建的,且该Apple ID拥有对应应用的TestFlight管理权限。别用针对iCloud等其他服务生成的专用密码,这类密码不适用。

  • 重新生成Fastlane Session
    Fastlane Session大概率已过期,在本地终端执行以下命令生成新的session:

    fastlane spaceauth -u 你的Apple ID邮箱
    

    跟着提示完成两步验证后,把新生成的session字符串替换到Azure DevOps的Service Connection中。

  • 核对Service Connection的配置
    使用Basic Authentication时,用户名填你的Apple ID邮箱,密码字段要填入App专用密码(不是Apple ID的登录密码)。同时确认Fastlane Session字段填的是刚生成的有效session,不要混淆两者的配置。

  • 添加跳过构建等待的参数
    在AppStoreRelease@1任务里添加skipWaitingForBuildProcessing: true参数,避免因等待Apple端处理构建而触发验证码请求:

    - task: AppStoreRelease@1
      inputs:
        serviceEndpoint: 'Apps Store Connection'
        releaseTrack: 'TestFlight'
        appIdentifier: 'com.company.myapp'
        appType: 'iOS'
        ipaPath: 'output/package/some.ipa'
        appSpecificId: '1234567'
        skipWaitingForBuildProcessing: true
    
  • 将代理设备设为信任设备
    如果使用的是Azure DevOps自托管代理,试着在代理机器上手动登录一次App Store Connect,完成两步验证后将该设备标记为信任,后续自动化流程大概率不会再触发验证码请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 18:43:33