EAS Build Provisioning Profile No Longer Valid

I have been experiencing a new problem with EAS Build which has been working find up until now. Every time I run EAS Build, I am informed that the previous provisioning profile is no longer valid and offered to create a new one. If I do use the same provisioning profile, then the app builds fine but I receive the following error from App Store Connect after some processing:

ITMS-90426: Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.

The new provisioning profile becomes no longer valid between each run of EAS build without any code changes or making any changes in app store connect. I wonder if you have any ideas about this and about whether this is an Apple issue or something wrong with my build configuration.

PS C:\Users\xxxx\Documents\xxxx\xxx\mobile-app> eas build --profile=staging-sandbox-testflight
√ Build for platforms » iOS
✔ Linked to project @xxxx/xxxx
✔ Using remote iOS credentials (Expo server)

If you provide your Apple account credentials we will be able to generate all necessary build credentials and fully validate them.
This is optional, but without Apple account access you will need to provide all the values manually and we can only run minimal validation on them.
√ Do you want to log in to your Apple account? ... yes

› Log in to your Apple Developer account to continue
√ Apple ID: ... xxxx@xxxxxx.co.uk
› Restoring session C:\Users\xxxx\.app-store\auth\xxxx@xxxx.co.uk\cookie
√ Select a Team » xxxxx Ltd - Company/Organization (xxxxx)
› Provider xxxx Ltd (xxxxx)
√ Logged in Local session
✔ Bundle identifier registered xx.xx.xx.xx.xx
✔ Synced capabilities: No updates
✔ Synced capability identifiers: Linked: merchant.xx.xx.xx.xx, merchant.xx.xx.xx.xx.development
✔ Fetched Apple distribution certificates
✔ Fetched Apple provisioning profiles
Provisioning profile (id: xxxx) is no longer valid

Thank you for your help

provisioning profile can become invalid due to changes on the apple side, or because it has expired. you should create a new one, it is safe and easy to do

Hi Bret,

Thanks for your help.

I understand that the provisioning profile can become invalid, however it seems to be becoming invalid excessively frequently without any good reason. Every time I run eas build the provisioning profile I generated last time (say five minutes previously) has already become invalid. This means that I have to generate a new provisioning profile every time I run the tool which means I cannot (as far as I know) run it as part of CI because it (I believe) tries to use the existing provisioning profile which is invalid.

I understand that this might be a problem with my setup or with Apple but I wondered if you had any explanation.

Thanks

are you possibly modifying your provisioning profile or app identifier or anything through the apple developer portal or somehow outside of eas? if you make any changes to the provisioning profile without going through eas then it will need to be regenerated

I won’t say it’s impossible, but I’m pretty sure I’m not. I can run the commands successively on the command line without doing anything else and the problem occurs.

1 Like

I’m still pretty sure that I’m not taking any action that could be causing this. Is there any way this could be caused by EAS?

this could possibly be related to syncing capability identifiers. can you try EXPO_NO_CAPABILITY_SYNC=1 eas build to see if that has the same result?

Thank you!

I will try running this a few more times to confirm the pattern, but that has just started a build which hasn’t prompted me to generate a new profile which it has been doing consistently since last week.

Is this an inherent consequence of the capability syncing (in which case I will just set EXPO_NO_CAPABILITY_SYNC in my CI and move on) or is this something going wrong which can likely be fixed by changing my configuration or perhaps a bug somewhere?

Thanks

The provisioning profile invalid status is caused by changes to the profile’s associated certificate or App ID.

can you share the result of expo config --type prebuild? you can share it privately to brent@expo.io

I am experiencing the exact same problem. It seems like the capabilities sync is updating the Identifier, which then invalidates the Provisioning Profile. This invalid profile is then used for the build. If you are using push notifications, this causes a warning message to be sent from Apple about missing entitlements. I am trying EXPO_NO_CAPABILITY_SYNC=1 to see if that alleviates the problem.

Same issue here. Once Sign in with Apple Entitlement was introduced in the project - each new EAS build prompts to create a new provisioning profile. Probably it is not related to this specific entitlement, but to the fact that entitlement was introduced in general.

A new provisioning profile is being generated despite the fact that there are no code changes or any other changes in the Apple Developer portal.

Thanks for your help.

Thanks and regards..

Hello, experiencing the same here … Does EXPO_NO_CAPABILITY_SYNC=1 is the answer ?

What are the impacts of such a change ?

Edit : I’ve tried with EXPO_NO_CAPABILITY_SYNC=1 and it doesn’t change the behaviour … Still invalidating previous provisionning profile :confused:

I will try running this a few more times to confirm the pattern, but that has just started a build which hasn’t prompted me to generate a new profile which it has been doing consistently since last week.