I’m trying to submit my application for the first time of Apple Store Connect using EAS submit.
I have some missunderstanding about the documentation.
I have all my informations about the submit :
The apple ID
The apple password
The apple app specific password
The ascAppId or Application ID
The appleTeamId
I’m using the command eas submit -p ios --latest with a fresh release build.
So for the ascAppId and appleTeamId, I write them in eas.json file.
For the others parameters, I don’t want to put them in eas.json.
If I read correctly the documentation, I need to put the others parameters as variables ? Do you mean secrets expo variable or my PC ENV variables ?
I tried to set in expo secrets : EXPO_APPLE_ID / EXPO_APPLE_PASSWORD / EXPO_APPLE_APP_SPECIFIC_PASSWORD
But when I execute the command, they ask me for Apple ID.
So on windows (or linux), I need to SET all the variables before executing the command ?
you don’t need to set those envs at all, but you can, if they are not provided you will be prompted interactively
if you are providing ascAppId then EXPO_APPLE_PASSWORD should not be necessary
if you want to run submit on ci in noninteractive mode only EXPO_APPLE_APP_SPECIFIC_PASSWORD is necessary, but appstore app needs to exist and be configured(you need to run interactive submit at leas once)
If I read correctly the documentation, I need to put the others parameters as variables ? Do you mean secrets expo variable or my PC ENV variables ?
Yes my goal is to use the command without any interaction with the param --non-interactive.
I don’t want to set the appleId param in my eas.json because I think that is a security information to be not pushed to my gitlab.
So if I follow your instructions, for a non interactive submit, I need to set EXPO_APPLE_APP_SPECIFIC_PASSWORD and EXPO_APPLE_ID (If I don’t set it in eas.json) in my local shell environment ?
On a pipeline for gitlab I think this is the same things ? Like settings the variables before the eas submit command ?
So my command will look like this : SET EXPO_APPLE_APP_SPECIFIC_PASSWORD=password-app eas submit -p ios --latest --non-interactive
Yes i’m using windows, I found a solution using this command line :
set EXPO_APPLE_APP_SPECIFIC_PASSWORD mypass & set EXPO_APPLE_ID myappleid & eas submit -p ios --latest --non-interactive
But it seems that I locked my account
We couldn't figure out what went wrong. Please see logs to learn more.
[logs] Starting iOS app upload
[logs] Downloading archive
[logs] Preparing artifact
[logs] Uploading iOS app to TestFlight...
[logs] Uploading the app with fastlane
[logs] -------------------
[logs] --- Step: pilot ---
[logs] -------------------
[logs] Ready to upload new build to TestFlight (App: 1585XXXXXX)...
[logs] Fetching password for transporter from environment variable named `FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD`
[logs] Going to upload updated app to App Store Connect
[logs] This might take a few minutes. Please don't interrupt the script.
[logs] Transporter transfer failed.
[logs]
[logs] This Apple ID has been locked for security reasons. Visit iForgot to reset your account (https://iforgot.apple.com). (-20209)
I did not see that error before, I suspect that successfully submit should not lock your account, so maybe you had some unsuccessful login attempts(e.g. wrong password, wrong 2 factor code)
I tried in the past running 10-20 submits at the time to test the service and never had an issue like that. I suggest checking the website in the error message and it might contain some info about the reason for locking that account