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 alinks.nextURL--paginate- Automatically fetch all pages
Get Profile Details
Retrieve a specific profile by ID:bundleId- Bundle identifier detailscertificates- Signing certificates in the profiledevices- 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
- Used for: Running apps on development devices
- Requires: iOS Development certificate
- Devices: Required (up to 100 devices)
- Used for: Testing outside TestFlight
- Requires: iOS Distribution certificate
- Devices: Required (up to 100 devices)
- 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 StoreTVOS_APP_DEVELOPMENT- tvOS developmentTVOS_APP_ADHOC- tvOS Ad HocTVOS_APP_INHOUSE- tvOS Enterprise
macOS Profile Types
MAC_APP_STORE- Mac App StoreMAC_APP_DEVELOPMENT- macOS developmentMAC_APP_DIRECT- Direct distribution (Developer ID)MAC_CATALYST_APP_STORE- Mac Catalyst App StoreMAC_CATALYST_APP_DEVELOPMENT- Mac Catalyst developmentMAC_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:Download Profile
Download a provisioning profile:.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: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 useINVALID- Profile has issues (expired, revoked certificate, etc.)
Profile Expiration
Profiles expire after 1 year. To renew:- Create a new profile with the same configuration
- Download and install the new profile
- Delete the old profile
- 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
Cannot Find Profile in Xcode
Profiles must be installed in the correct location:Related Commands
- Signing - High-level signing workflow
- Certificates - Manage certificates
- Bundle IDs - Manage bundle identifiers
- Devices - Register devices
