Expo EAS Submit始终提示登录Apple开发者账户,无法CI自动化运行
解决方案
1. 启用非交互模式执行命令
CI环境下必须添加--non-interactive参数,强制CLI跳过所有交互式确认步骤:
eas build --profile preview --auto-submit --platform all --non-interactive
2. 在eas.json中配置跳过提交确认
在submit的preview配置段内,给iOS添加skipConfirmation: true,跳过提交前的二次确认:
"submit": { "preview": { "android": { ... }, "ios": { "appleId": "[myAppleId]", "appleTeamId": "[myAppleTeamId]", "ascAppId": "[myAscAppId]", "skipConfirmation": true } } }
3. 配置Apple应用专用密码(核心解决步骤)
若Apple ID开启了两步验证(开发者账户默认开启),仅靠现有配置无法自动完成登录,需创建应用专用密码:
- 登录Apple ID管理后台生成应用专用密码
- 通过环境变量
EXPO_APPLE_PASSWORD传递给CI环境,或在eas.json中引用该变量(优先使用环境变量避免明文泄露):"ios": { "appleId": "[myAppleId]", "appleTeamId": "[myAppleTeamId]", "ascAppId": "[myAscAppId]", "skipConfirmation": true, "applePassword": "$EXPO_APPLE_PASSWORD" }
额外检查项
- 确保EAS CLI版本满足配置要求(
>=1.0.0),可执行eas --version验证,版本过低建议升级:npm install -g eas-cli - 确认
ascAppId为正确的App Store Connect应用ID,避免因ID错误触发额外交互
内容的提问来源于stack exchange,提问作者Niklas Dada
相关产品推荐
相关产品推荐

