Skip to main content

Profiles

Manage provisioning profiles
Create, download, and manage provisioning profiles for app development and distribution.

Overview

Provisioning profiles bind your app’s bundle ID, certificates, and (for development) devices together, allowing your app to run on devices or be distributed through various channels.

List Profiles

List all provisioning profiles or filter by type:

Pagination Options

  • --limit - Results per page (1-200)
  • --next - Fetch next page using a links.next URL
  • --paginate - Automatically fetch all pages

Get Profile Details

Retrieve a specific profile by ID:
Available includes:
  • bundleId - Bundle identifier details
  • certificates - Signing certificates in the profile
  • devices - Registered devices (development/ad hoc profiles only)

Profile Types

iOS Profile Types

App Store:
  • Used for: App Store submission
  • Requires: iOS Distribution certificate
  • Devices: Not required
Development:
  • Used for: Running apps on development devices
  • Requires: iOS Development certificate
  • Devices: Required (up to 100 devices)
Ad Hoc:
  • Used for: Testing outside TestFlight
  • Requires: iOS Distribution certificate
  • Devices: Required (up to 100 devices)
In-House (Enterprise):
  • Used for: Enterprise internal distribution
  • Requires: iOS Distribution certificate
  • Devices: Not required
  • Requires: Apple Developer Enterprise Program

tvOS Profile Types

  • TVOS_APP_STORE - tvOS App Store
  • TVOS_APP_DEVELOPMENT - tvOS development
  • TVOS_APP_ADHOC - tvOS Ad Hoc
  • TVOS_APP_INHOUSE - tvOS Enterprise

macOS Profile Types

  • MAC_APP_STORE - Mac App Store
  • MAC_APP_DEVELOPMENT - macOS development
  • MAC_APP_DIRECT - Direct distribution (Developer ID)
  • MAC_CATALYST_APP_STORE - Mac Catalyst App Store
  • MAC_CATALYST_APP_DEVELOPMENT - Mac Catalyst development
  • MAC_CATALYST_APP_DIRECT - Mac Catalyst direct

Create Profile

Create a new provisioning profile:

Required Parameters

  • --name - Profile name (descriptive, for your reference)
  • --profile-type - Profile type (see Profile Types)
  • --bundle - Bundle ID resource ID
  • --certificate - Certificate ID(s), comma-separated

Optional Parameters

  • --device - Device ID(s), comma-separated (required for development/ad hoc)

Finding Resource IDs

Bundle ID:
Certificate IDs:
Device IDs:

Download Profile

Download a provisioning profile:
The downloaded .mobileprovision file can be:
  • Installed in Xcode (drag and drop)
  • Copied to ~/Library/MobileDevice/Provisioning Profiles/
  • Used in CI/CD pipelines

Install Profile

Delete Profile

Delete a provisioning profile:
Note: Deleted profiles cannot be recovered. Apps signed with deleted profiles will continue to work until the profile expires.

Profile Relationships

View related resources for a profile:

Local Profile Management

Manage profiles on your local machine:

Complete Example Workflows

Create App Store Profile

Create Development Profile

Update Profile with New Device

Profiles cannot be updated directly. Create a new profile:

Rotate Certificates in Profile

CI/CD Profile Management

Profile States

Profiles can be in different states:
  • ACTIVE - Valid and ready to use
  • INVALID - Profile has issues (expired, revoked certificate, etc.)
Check profile state:

Profile Expiration

Profiles expire after 1 year. To renew:
  1. Create a new profile with the same configuration
  2. Download and install the new profile
  3. Delete the old profile
Profiles automatically expire when:
  • Any certificate in the profile is revoked
  • Any certificate in the profile expires
  • The bundle ID is deleted

Troubleshooting

Profile Invalid After Certificate Revocation

Device Limit Reached (100 devices)

Development and Ad Hoc profiles are limited to 100 devices. Solution:
  • Use TestFlight for broader testing (no device limit)
  • Remove unused devices from your account (once per year)
  • Split testing across multiple profiles if needed

Profile Content Empty

The profile may be in an invalid state. Solution:

Cannot Find Profile in Xcode

Profiles must be installed in the correct location: