information

How to Fix “No Profiles for Were Found” in Xcode

When you try to build or run an iOS app on a physical device, Xcode may report a signing error such as:

No profiles for 'com.example.myapp' were found

You may also see:

Xcode couldn't find any iOS App Development provisioning profiles matching 'com.example.myapp'.

This error means that Xcode cannot find a provisioning profile that satisfies the current Bundle Identifier, development team, signing certificate, device, and entitlement requirements of the target.

It commonly appears after cloning a project, changing the Bundle Identifier, creating a new certificate, moving to a new Mac, switching to manual signing, adding an extension, or enabling a new capability.

  1. What does “No profiles for were found” mean?
  2. Typical error messages
  3. Common causes
    1. 1. Automatically manage signing is disabled
    2. 2. No App ID matches the Bundle Identifier
    3. 3. The Bundle Identifier was changed
    4. 4. The development certificate is missing or unusable
    5. 5. The device is not registered
    6. 6. Xcode is using an outdated cached provisioning profile
    7. 7. The wrong development team is selected
    8. 8. The provisioning profile contains a different certificate
    9. 9. A capability was added without refreshing the profile
    10. 10. An app extension has no compatible profile
  4. Typical situations where the error occurs
  5. What to check first
    1. 1. Check Signing & Capabilities
    2. 2. Check the effective Bundle Identifier
  6. Solution 1: Enable Automatically manage signing
  7. Solution 2: Select the correct development team
  8. Solution 3: Check or change the Bundle Identifier
  9. Solution 4: Verify the development signing certificate
  10. Solution 5: Create a development provisioning profile manually
    1. Typical workflow
  11. Solution 6: Register the physical device
  12. Solution 7: Remove outdated cached provisioning profiles
  13. Solution 8: Inspect the provisioning profile
  14. Solution 9: Check provisioning-related Build Settings
  15. Solution 10: Compare Debug and Release
  16. Solution 11: Check app-extension signing
  17. Solution 12: Refresh profiles after capability changes
  18. Solution 13: Clean the build environment
  19. If you cloned the project from GitHub
  20. If you moved to a new Mac
  21. If the error occurs only in CI
  22. If Archive for App Store Connect fails
  23. What you should not do
  24. Fast troubleshooting checklist
  25. Summary

What does “No profiles for were found” mean?

A provisioning profile connects an app’s signing configuration with Apple Developer account resources.

For a development profile, relevant information includes:

  • App ID
  • Bundle Identifier
  • Development certificate
  • Registered devices
  • Development team
  • Entitlements

Apple’s current documentation states that manually signing an app for development requires an App ID, one or more development certificates, and one or more registered devices. If automatic signing is enabled, Xcode manages development provisioning profiles for you. :contentReference[oaicite:9]{index=9}

Typical error messages

No profiles for 'com.example.myapp' were found

Xcode couldn't find any iOS App Development provisioning profiles matching 'com.example.myapp'.

Provisioning profile matching 'com.example.myapp' not found

The wording varies between Xcode versions and signing configurations, but the underlying problem is the same: no eligible profile can be found.

Common causes

1. Automatically manage signing is disabled

When manual signing is enabled, Xcode does not automatically create or choose a compatible provisioning profile.

If the required profile is not installed or selected, the build fails.

2. No App ID matches the Bundle Identifier

With manual signing, a provisioning profile must be based on an App ID that matches the app’s Bundle Identifier.

com.example.myapp

If no appropriate App ID exists, no matching profile can be created.

3. The Bundle Identifier was changed

A profile generated for an old identifier cannot be used for a new one.

Before:

com.example.oldapp

After:

com.example.newapp

A new signing configuration is required.

4. The development certificate is missing or unusable

A provisioning profile is associated with one or more signing certificates.

If the required Apple Development certificate is missing, expired, revoked, or missing its private key, Xcode may not find an eligible profile.

5. The device is not registered

For a manually created development provisioning profile, the physical device must be registered and included in the profile.

Apple’s current development-profile workflow explicitly requires registered devices. :contentReference[oaicite:10]{index=10}

6. Xcode is using an outdated cached provisioning profile

Changes to the App ID, certificate, device list, or capabilities may make an older profile unsuitable.

7. The wrong development team is selected

If you belong to multiple teams, Xcode may be looking for a profile under the wrong organization.

8. The provisioning profile contains a different certificate

A manually managed profile may have been generated using an older development certificate.

9. A capability was added without refreshing the profile

Capabilities such as Push Notifications, App Groups, Associated Domains, and iCloud can change the required entitlements.

In Xcode 15 and later, automatic signing can manage required provisioning changes when the corresponding capabilities are assigned to the App ID. :contentReference[oaicite:11]{index=11}

10. An app extension has no compatible profile

Widgets, Share Extensions, Notification Service Extensions, and similar targets have their own Bundle Identifiers and signing requirements.

Typical situations where the error occurs

  • After cloning a project from GitHub
  • After opening the project on a new Mac
  • After changing the Bundle Identifier
  • After replacing an Apple Development certificate
  • After a certificate expires
  • After switching to a new iPhone or iPad
  • After switching from automatic to manual signing
  • After adding a Widget or other app extension
  • After enabling Push Notifications or another capability
  • When Debug works but Archive fails
  • When the build fails only in CI

What to check first

1. Check Signing & Capabilities

Open:

Project → TARGETS → Your App → Signing & Capabilities

Verify:

  • Team
  • Bundle Identifier
  • Automatically manage signing
  • Signing Certificate
  • Provisioning Profile

2. Check the effective Bundle Identifier

Run:

xcodebuild -showBuildSettings | grep PRODUCT_BUNDLE_IDENTIFIER

Example:

PRODUCT_BUNDLE_IDENTIFIER = com.example.myapp

If the value differs from what you expected, inspect Build Settings and .xcconfig files.

Solution 1: Enable Automatically manage signing

If you do not specifically need manual signing, automatic signing is the simplest place to start.

  1. Select the affected target.
  2. Open Signing & Capabilities.
  3. Enable Automatically manage signing.
  4. Select the correct Team.
  5. Build again.

Apple’s current documentation states that Xcode manages development provisioning profiles when automatic signing is enabled. :contentReference[oaicite:12]{index=12}

Tip: For ordinary development and device testing, automatic signing usually reduces provisioning-profile errors significantly.

Solution 2: Select the correct development team

Verify the Team in Signing & Capabilities.

If you belong to several teams, select the team that owns the relevant App ID and signing resources.

Team: Example Company Bundle Identifier: com.example.myapp

If the wrong team is selected, no matching profile may exist under that team.

Solution 3: Check or change the Bundle Identifier

A cloned or downloaded project may still use the original author’s Bundle Identifier.

Before:

com.originaldeveloper.SampleApp

After:

com.yourname.SampleApp

With automatic signing, let Xcode create or obtain signing resources for the new identifier.

With manual signing, create the corresponding App ID and provisioning profile.

Solution 4: Verify the development signing certificate

Check usable signing identities with:

security find-identity -v -p codesigning

A valid identity may appear as:

1) 0123456789ABCDEF "Apple Development: Developer Name (ABCDE12345)" 1 valid identities found

If you see:

0 valid identities found

the Mac does not currently have a usable code-signing identity. Create a development certificate in Xcode or correctly import the certificate and private key.

Solution 5: Create a development provisioning profile manually

If your workflow requires manual signing, create a matching profile in Certificates, Identifiers & Profiles.

Typical workflow

  1. Open Certificates, Identifiers & Profiles.
  2. Select Profiles.
  3. Click the add button.
  4. Select iOS App Development.
  5. Select the correct App ID.
  6. Select the development certificate.
  7. Select the required devices.
  8. Enter a profile name.
  9. Generate the profile.
  10. Download and install it in Xcode.

This matches Apple’s current manual development provisioning workflow. :contentReference[oaicite:13]{index=13}

Solution 6: Register the physical device

If the issue started after switching to a new iPhone or iPad, verify that the device is registered for the development team.

With automatic signing, Xcode can register the device when your account permissions allow it.

With manual signing, register the device and regenerate the development provisioning profile so the device is included.

Solution 7: Remove outdated cached provisioning profiles

If automatic signing is enabled but Xcode continues using an obsolete profile, inspect the local cache.

~/Library/MobileDevice/Provisioning Profiles/

List the profiles with:

ls ~/Library/MobileDevice/Provisioning\ Profiles/

Back up important profiles, remove obsolete ones, and build again.

Apple explicitly documents this process as a way to make Xcode request a fresh provisioning profile under automatic signing. :contentReference[oaicite:14]{index=14}

Solution 8: Inspect the provisioning profile

Decode a .mobileprovision file with:

security cms -D -i MyProfile.mobileprovision > profile.plist

Then inspect it:

plutil -p profile.plist

Useful fields include:

  • Name
  • TeamIdentifier
  • Entitlements
  • application-identifier
  • ProvisionedDevices
  • ExpirationDate

This helps confirm whether the profile matches the expected app, team, devices, and expiration date.

Solution 9: Check provisioning-related Build Settings

Manual-signing projects may contain stale provisioning settings.

Inspect them with:

xcodebuild -showBuildSettings | grep -E "PROVISIONING_PROFILE|CODE_SIGN|DEVELOPMENT_TEAM"

Pay attention to:

CODE_SIGN_STYLE CODE_SIGN_IDENTITY DEVELOPMENT_TEAM PROVISIONING_PROFILE PROVISIONING_PROFILE_SPECIFIER

Remove or correct obsolete profile names, UUIDs, and team values.

Solution 10: Compare Debug and Release

If device testing succeeds but Archive fails, compare the effective signing settings for Debug and Release.

xcodebuild -showBuildSettings -configuration Debug | grep -E "PROVISIONING|CODE_SIGN|DEVELOPMENT_TEAM"

xcodebuild -showBuildSettings -configuration Release | grep -E "PROVISIONING|CODE_SIGN|DEVELOPMENT_TEAM"

Release may still use a stale profile or manual-signing configuration.

Solution 11: Check app-extension signing

Review every relevant target, including:

  • Widget Extension
  • Share Extension
  • Notification Service Extension
  • Watch app
  • App Clip

Each target can use its own Bundle Identifier and provisioning profile.

com.example.myapp com.example.myapp.widget com.example.myapp.notification

Solution 12: Refresh profiles after capability changes

If the error appeared after enabling Push Notifications, App Groups, Associated Domains, iCloud, or another capability, refresh the provisioning profile.

With automatic signing, verify the corresponding capability on the App ID and rebuild.

With manual signing, regenerate the provisioning profile for the updated App ID.

For Xcode 15 and later, Apple’s managed-capabilities documentation explains how automatic signing can incorporate enabled capabilities into the entitlements and provisioning configuration. :contentReference[oaicite:15]{index=15}

Solution 13: Clean the build environment

After fixing the signing configuration, stale build data may still remain.

Use:

Product → Clean Build Folder

If necessary:

rm -rf ~/Library/Developer/Xcode/DerivedData/*

Important: Cleaning DerivedData does not create a missing provisioning profile. Use it only after correcting the actual signing configuration.

If you cloned the project from GitHub

For a cloned project, try this sequence first:

  1. Change the Bundle Identifier to one you control.
  2. Select your development team.
  3. Enable Automatically manage signing.
  4. Update identifiers for extensions.
  5. Build again on the device.

A project that still uses the original author’s signing configuration often has no profile that matches your own Apple Developer team.

If you moved to a new Mac

A project file does not include the private signing key stored in the old Mac’s keychain.

Check the new Mac with:

security find-identity -v -p codesigning

For automatic signing, add your Apple Account to Xcode, select the correct Team, and rebuild.

For manual signing, securely migrate the certificate, private key, and provisioning profile as required.

If the error occurs only in CI

For GitHub Actions, Jenkins, Bitrise, or another CI system, verify that the CI environment contains the correct provisioning profile.

Inspect the effective signing settings:

xcodebuild -showBuildSettings \ -scheme MyApp \ -configuration Release \ | grep -E "PRODUCT_BUNDLE_IDENTIFIER|PROVISIONING_PROFILE|DEVELOPMENT_TEAM|CODE_SIGN"

If the CI system stores an old .mobileprovision file as a secret or artifact, replace it with an updated profile.

If Archive for App Store Connect fails

Distribution uses a distribution provisioning profile rather than the development profile used for device debugging.

Apple’s current App Store Connect provisioning workflow requires an App ID that matches the app’s Bundle ID and a distribution certificate. If automatic signing is selected, Xcode manages the distribution provisioning profile. :contentReference[oaicite:16]{index=16}

This is why an app may run correctly on a device but still fail when archived for distribution.

What you should not do

Do not select a random provisioning profile just to make the error message disappear.

A provisioning profile must match the app’s Bundle Identifier, team, certificate, devices, and entitlements.

Using an unrelated profile typically turns this error into another signing error such as an entitlement mismatch, certificate mismatch, or invalid provisioning profile.

Fast troubleshooting checklist

  1. Check the Team in Signing & Capabilities.
  2. Verify the Bundle Identifier.
  3. Enable automatic signing when appropriate.
  4. Run security find-identity to verify the certificate.
  5. Register a new device if necessary.
  6. Create a matching profile if using manual signing.
  7. Remove obsolete cached profiles.
  8. Inspect provisioning-related Build Settings.
  9. Compare Debug and Release.
  10. Check every app-extension target.
  11. Refresh profiles after capability changes.
  12. Clean the build folder after correcting signing.

Summary

The Xcode error “No profiles for … were found” means that Xcode cannot find a provisioning profile compatible with the current Bundle Identifier, development team, certificate, device, and entitlement configuration.

In many cases, selecting the correct Team and enabling Automatically manage signing resolves the issue.

If you use manual signing, create a provisioning profile using the matching App ID, development certificate, and registered devices, then install and select that profile in Xcode.

If the problem persists, investigate stale cached profiles, Debug versus Release differences, app extensions, capability changes, and the signing assets installed on a new Mac or CI system.