exp build:ios --non-interactive still asking for input.

Hi!

I’m making some automation build for ios and android.
We are using two provisioning profiles (adhoc and appstore) and we want to run a build command with downloaded certificates on CI.

So, we write this command:

exp build:ios \
    --non-interactive \
    --release-channel qa \
    --team-id "$APPLE_TEAM_ID" \
    --clear-credentials \
    --clear-dist-cert \
    --dist-p12-path "$IOS_CERTIFICATES_FOLDER/exported_cer.p12" \
    --push-p12-path "$IOS_CERTIFICATES_FOLDER/exported_aps.p12" \
    --provisioning-profile-path "$IOS_CERTIFICATES_FOLDER/cert_adhoc.mobileprovision"

All environment variables are setted correctly:
EXP_USERNAME=“<my_expo_username>”
EXP_PASSWORD=“<my_password>”
EXPO_DEBUG=true
EXPO_IOS_DIST_P12_PASSWORD=“<my_cert_password>”
EXPO_IOS_PUSH_P12_PASSWORD=“<my_cert_password>”
APPLE_TEAM_ID=“<my_team_id>”
IOS_CERTIFICATES_FOLDER=“<the_folder_with_apple_certificates>”

Before run the build script, we are login into expo account:
exp login -u “$EXP_USERNAME” -p “$EXP_PASSWORD”

When we run the build script, the following error occurs:
[15:03:16] Making sure project is set up correctly…
/(node:5471) ExperimentalWarning: The fs.promises API is experimental
[15:03:23] Your project looks good!
[15:03:25] Checking if current build exists…

[15:03:25] No currently active or previous builds for this project.
[15:03:26] Removed existing credentials from expo servers
[15:03:27] Error while gathering & validating credentials
[15:03:27] Input is required, but exp is in non-interactive mode.
Required input:

How would you like to upload your credentials?

When we execute without “–non-interactive”, it works fine.

Can we signin into apple account passing ENV variables instead be prompted?

Hey @benhurott,

I guess currently we don’t allow users to pass apple login and password as env variables / command arguments. But you’re asked to provide them only once, so you can do it manually and then on your CI (or whatever) you won’t be prompted for them.

I noticed you have --clear-credentials in your command, which means that with each execution of exp build:ios you’re clearing credentials from expo server, so that’s why you’re being asked for apple credentials over and over again.

1 Like

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.