Xcode resolves a provisioning profile by matching three things at once: the bundle ID, the team, and (for development builds) the device you are targeting. If any one of them fails to line up, no profile matches and you get this message. The message names the bundle ID because that is the most common culprit, but it is not always the real one.
Work through these in order
- 1
Check the bundle ID is registered
Open the Apple Developer portal, Identifiers, and confirm an App ID exists that matches your bundle ID exactly. Case matters. A typo here produces this exact error, and it is by far the most frequent cause.
- 2
Check you are signed in as the right team
Xcode, Settings, Accounts. If you belong to more than one team, the target's Signing and Capabilities tab may be pointing at a team that has never seen this bundle ID. The profile exists, just not where Xcode is looking.
- 3
Check the device is registered
A development profile only covers devices explicitly listed on it. Plug in the device, then Window, Devices and Simulators, and confirm its UDID appears in the portal under Devices. A brand-new test phone is a classic trigger.
- 4
Let automatic signing regenerate
In Signing and Capabilities, untick Automatically manage signing, then tick it again. This forces Xcode to re-resolve and, if it has the right permissions, create a matching profile.
- 5
Clear the stale profile cache
Xcode caches downloaded profiles and sometimes holds a revoked one. Delete the contents of the profiles directory and let Xcode re-fetch.
# Where Xcode keeps downloaded profiles ls ~/Library/Developer/Xcode/UserData/Provisioning\ Profiles/ # Clear them and let Xcode re-download on the next build rm ~/Library/Developer/Xcode/UserData/Provisioning\ Profiles/*.mobileprovision
If your account cannot create profiles
Automatic signing needs permission to register App IDs and generate profiles. On a team account, the Developer role generally cannot do this and will hit the same error with no obvious explanation. Ask an Account Holder or Admin to either register the App ID for you or raise your role.
A free Apple ID (no paid membership) can sign for local development only, produces profiles that expire after seven days, and cannot create Ad Hoc or App Store profiles at all.
The same error on CI
On a runner this almost always means the profile was never installed, rather than that it does not exist. Automatic signing needs an interactive Apple ID session and is a poor fit for CI. Use manual signing, install the .mobileprovision explicitly, and reference it by name in your ExportOptions.plist.
# Install a profile on a runner PROFILE_DIR=~/Library/Developer/Xcode/UserData/Provisioning\ Profiles mkdir -p "$PROFILE_DIR" cp build/sign/*.mobileprovision "$PROFILE_DIR/" # Confirm what is actually inside it security cms -D -i build/sign/profile.mobileprovision | plutil -p -
That last command is the fastest way to settle an argument about which bundle ID, team, and devices a profile really covers. If the Entitlements application-identifier does not match your build settings, you have found the problem.