Search code examples
iosreact-nativecontinuous-integrationexpoeas

Expo EAS Submit always prompts for Apple Developer Account


I build and submit my Expo app via this command:

eas build --profile preview --auto-submit --platform all

Like mentioned in the Eas submit docs, I provided appleId, appleTeamId and ascAppId to my eas.json like this:

{
  "cli": {
    "version": ">= 1.0.0",
    "promptToConfigurePushNotifications": false
  },
  "build": {
  ...
  },
  "submit": {
    "preview": {
      "android": {
       ...
      },
      "ios": {
        "appleId": "[myAppleId]",
        "appleTeamId": "[myAppleTeamId]",
        "ascAppId": "[myAscAppId]"
      }
    }
  }
}

So, theoretically submit should be completely autonomous. But I am always requested by the CLI to "Log in to your Apple Developer account to continue". The credentials are prefilled, but I need to hit 'y' two times, which means the command can not run in CI.

What am I missing here?


Solution

  • Have you already submitted at least one version to the app store?
    If not, you'll have to manually submit one first. Otherwise here you'll probably just need to have 2 env variables set for the eas submit command:

    1. EXPO_APPLE_PASSWORD: the password of the Apple account myAppleId
    2. EXPO_APPLE_APP_SPECIFIC_PASSWORD: a password for the specific app you are submitting (See here on how to set this up)

    You'll also need the --non-interactive flag for eas submit

    Main doc here https://docs.expo.dev/submit/ios/