An EAS Build iOS missing provisioning profile error means the build could not find or generate a provisioning profile to sign your app, which almost always comes down to iOS credentials not being set up, or a mismatch between the profile and your app. The fastest fix is to run the Expo credentials manager, which can generate a distribution certificate and matching provisioning profile for your bundle identifier and distribution type, or let you supply your own. Make sure the profile matches your app's bundle ID and the distribution type of your build profile. If you manage credentials yourself, you can provide them through a credentials file rather than relying on automatic generation.
Short answer
The error means EAS has no valid provisioning profile to sign your iOS build, so set up or regenerate your iOS credentials. Per Expo's app credentials documentation, you run the Expo credentials manager to manage the distribution certificate and provisioning profile, and EAS can generate them when you provide Apple account access. Ensure the profile matches your app's bundle identifier and the distribution type of your build profile, since a mismatch produces the same error. If you prefer to manage credentials yourself, supply them locally instead of using automatic generation. Fastlane runs under the hood, but the Expo credentials manager is the recommended path.
What the error means
The error is EAS telling you it cannot sign your iOS app because there is no usable provisioning profile for the build. iOS builds must be signed with a distribution certificate and a provisioning profile that matches the app, and when EAS has neither configured nor able to generate one, the build fails at the signing step with this message. It is a credentials problem, not a code problem.
Reading it that way narrows where to look. Nothing about your app's functionality is wrong; the build simply lacks the signing material iOS requires. That points you at three things: whether iOS credentials are set up for this project at all, whether the profile matches your app's bundle identifier and distribution type, and whether the certificate or profile is valid and current. Almost every case is one of those.
Use the Expo credentials manager
The primary tool for fixing this is the Expo credentials manager, which you invoke with the eas credentials command. It lets you view, set up, and regenerate your iOS distribution certificate and provisioning profile, and when you provide Apple Developer account access, EAS can generate a matching profile for you automatically. Running it is usually the quickest way to resolve a missing provisioning profile.
Through the credentials manager, you select the iOS platform and the relevant build profile, and let EAS create or repair the credentials for your app's bundle identifier and distribution type. If credentials were never set up, this creates them; if they were invalid or mismatched, it can regenerate them. Because EAS stores and reuses these credentials for future builds, getting them right once through the manager typically fixes the error for subsequent builds too.
Common causes
Beyond credentials simply not being set up, a few specific situations produce this error. A provisioning profile that does not match your app's bundle identifier is a common one, since the profile is tied to a specific ID. An expired or revoked distribution certificate or profile is another, because EAS cannot sign with credentials that are no longer valid. And without Apple Developer account access, EAS cannot generate credentials on your behalf, so it has nothing to use.
The distribution type is also a frequent culprit. A provisioning profile is for a specific distribution method, such as App Store or internal distribution, so a profile that does not match the distribution type of your EAS build profile will not work. Identifying which of these applies, usually through the credentials manager, is the difference between a quick regeneration and chasing the wrong fix.
Bundle ID and distribution type must match
Two things must line up for a provisioning profile to work: your app's bundle identifier and the distribution type. The provisioning profile is issued for a specific bundle ID, so if your app's identifier in the project does not match the profile, signing fails. Confirm that the bundle identifier in your app configuration is the same one the profile was generated for, and regenerate the profile if you changed the identifier.
Distribution type must match too. If your EAS build profile targets App Store distribution, the provisioning profile must be an App Store profile, and if it targets internal or ad hoc distribution, it must be the corresponding type. A profile of the wrong distribution type produces the same missing or invalid profile outcome. The credentials manager lets you set up the correct type for each build profile, which is how you keep the bundle ID and distribution type aligned.
Fastlane and credentials alternatives
Fastlane runs under the hood in parts of the EAS credentials process, so you do not manage it directly, and for most projects the Expo credentials manager is the recommended and simplest path. If you were using Fastlane match to manage certificates and profiles in a bare workflow, you can, but with EAS the built-in credentials management usually replaces the need to run match yourself.
If you prefer full control, EAS also supports local credentials: you provide your own distribution certificate and provisioning profile through a credentials configuration file, and EAS uses those instead of generating them. This is the option when you want to manage signing material yourself or reuse existing credentials. Either way, the requirement is the same: a valid certificate and a profile that matches your bundle identifier and distribution type, whether EAS generates them or you supply them.
Causes and fixes
Matching the cause to a fix keeps you from regenerating the wrong asset. The table below pairs the common causes with their fixes.
| Cause | What is wrong | Fix |
|---|---|---|
| Credentials not set up | No profile configured in EAS | Run the Expo credentials manager to set them up |
| Bundle ID mismatch | The profile is for a different identifier | Regenerate the profile for the correct bundle ID |
| Expired or revoked credentials | The certificate or profile is invalid | Regenerate them through the credentials manager |
| No Apple account access | EAS cannot generate credentials | Provide Apple access or supply local credentials |
| Wrong distribution type | The profile type does not match the build | Set the matching App Store or internal profile |
Read the table against what the credentials manager shows for your project. If nothing is configured, set it up; if something is configured but wrong, regenerate it for the correct bundle ID and distribution type.
Fix checklist
Working through credentials methodically resolves the error. The checklist below covers the steps.
| Check | Action | Done? |
|---|---|---|
| Run the credentials manager | Use eas credentials for iOS | [ ] |
| Bundle identifier | Confirm the profile matches your app's ID | [ ] |
| Distribution type | Match the profile to the build profile | [ ] |
| Apple access | Provide Apple login or local credentials | [ ] |
| Rebuild | Re-run the EAS build after fixing credentials | [ ] |
The step that resolves most cases is simply running the credentials manager and letting EAS set up or regenerate the profile for the correct bundle ID and distribution type. Provide Apple account access if you want EAS to generate credentials, or supply your own, then rebuild.
After signing: scan before you submit
Fixing the provisioning profile gets your iOS build signed and produced, but a build that signs cleanly can still be rejected in review for reasons unrelated to signing. Security and privacy issues are a common one, and they are cheaper to catch before submission than after.
A scanner like PTKD.com analyzes your .ipa and reports findings ordered by severity and mapped to OWASP MASVS, so you catch issues like unjustified permissions, cleartext traffic, or embedded secrets before you submit. To be clear about the boundary: PTKD does not manage your credentials, generate a provisioning profile, or configure EAS. It checks the built, signed artifact for the security issues that a valid profile does not address.
What to take away
- The error means EAS has no valid provisioning profile to sign your iOS build; it is a credentials problem, not a code problem.
- Run the Expo credentials manager with eas credentials to set up or regenerate the distribution certificate and matching profile.
- The provisioning profile must match your app's bundle identifier and the distribution type of your build profile, or signing fails.
- Provide Apple Developer account access so EAS can generate credentials, or supply your own through a local credentials configuration.
- After signing is fixed, scan your build with PTKD.com for the security issues a valid profile does not cover.




