Cannot find account when building

Hello,
When using expo build:android it prompts for the keystone file. I put the file and then enter the Keystore pass key alias and key password but get the message Account not found.
Also when building ios with eas build --platform ios I get the message
AssertionError: You must have access to the **** account to run this
command
Code: ERR_ASSERTION
even though I am logged in.
I also noticed on the expo.dev for some reason I have two accounts that are the same account
but on the first one, I don’t have any permission, on the second one everything is normal.

Are those the same account or are those two separate accounts with the same display name? If you select one of those URL should have format https://expo.dev/accounts/{{username}}, is the username for those 2 options the same?

If you have owner field in app.json you need to be added to that team to build, if you have multiple accounts, maybe you are logged in to the wrong one (eas whoami to check)

I haven’t checked the url, I am going to check it later but I have only one account, and yes the name is the same that is showing.

Ok so I cheked the url both are the same the only difference is the first one is only the account name the second one is the account name + %20

https://expo.dev/accounts/{{username} the first one which is not working
And the second one which is working
https://expo.dev/accounts/{{username}%20
both heve the same name

%20 is a URL encoded space character. Try logging out and back in again, making sure not to enter any space characters in your username.

Yea I have done the that it is still the same thing. For some reason, I have two of the same accounts to which the first one I have no permission. And I cannot build the app because it says that I have no permission to my account eas whoami says I am logged into my account.

Do you still see a URL with %20 in it? If so, how did you get that URL?

@wkozyra is there any way, any spaces can be stripped off? Based on the above it seems like they are being stripped for the purposes of authentication, but the space can still end up in the URL, so it seems they are not always being stripped?

@radjab It looks like we missing some validation on registration and you managed to create an account with trailing space. Issues you are experiencing come from the fact that sometimes string is trimmed and sometimes is not.

I’ll bring this up internally, but username is used to identify a lot of stuff inside your project, so just switching the username might not be possible. Even if we fix that there is some possibilities of other issues in the future, so I strongly recommend to switch to the new account.

If you uploaded anything to store before that was build on expo:

  • download android credentials (expo fetch:android:keystore or eas credentials) for every app, you will need to upload them to new expo account, otherwise, play store won’t accept submits
  • you can’t send OTA updates from new account to apps that were build on new account
  • (optional) you can backup iOS credentials, but eas-cli/expo-cli will generate new ones on first build so you don’t need to

Ok, so to what I understand I need to create a new account. I have only one production app and I need to upload it to the new account. I build android with expo build and ios with eas. I download the legacy Keystore for android and the bundle identifiers for Ios. Are the bundle identifiers for ios the eas credentials?

I build android with expo build and ios with eas

No, unless you have good reason to do that. You should build both android and ios with the same tool. eas is preferable, but if you need to use classic builds service expo-cli is also fine.

Are the bundle identifiers for ios the eas credentials?

No, bundle identifier is just a string that identifies your app, credentials that are used for the signing are provisioning profile, distribution certificate and push notification key. You can download them using eas credentials or expo fetch:ios:certs (depends on which cli you are using for building)

download android credentials ( expo fetch:android:keystore or eas credentials )

to clarify, if you are using eas for building use eas credentials and if you are using expo build use the expo fetch:android:keystore