Provisioning Profiles Explained
A provisioning profile is a file that links developers and devices to an authorized development team and enables a device to be used for testing. It authorizes your app to launch on specific devices and use certain app services.
Provisioning profiles are created and managed through the Apple Developer Portal ("Certificates, Identifiers & Profiles" section).
Key Components Tied by a Provisioning Profile:
App ID: An identifier for your app (explicit or wildcard).
Certificates: The development or distribution certificates allowed to sign the app.
Devices: A list of UDIDs for devices authorized to run the app (for development and ad-hoc profiles).
Types of Provisioning Profiles:
1. Development Profiles:
Used during the development phase.
Allows apps to be installed on registered test devices.
Requires device UDIDs to be added to the profile.
Examples: "iOS App Development," "macOS App Development."
2. Distribution Profiles:
Used for distributing your app.
Ad Hoc: Distribute to a limited number of registered devices outside the App Store (also requires UDIDs).
App Store: For submitting your app to the Apple App Store. Does not require specific device UDIDs. This profile type is required for App Store submissions.
Enterprise (In-House): For large organizations to distribute proprietary apps to their employees. (Requires Apple Developer Enterprise Program).
Explicit vs. Wildcard App IDs in Provisioning Profiles:
Explicit App ID:
Matches a single app's bundle identifier (e.g.,
com.yourcompany.myapp
).Required for apps that use certain app services (like Push Notifications, In-App Purchase) and for App Store submission.
Wildcard App ID:
Can match multiple apps' bundle identifiers (e.g.,
com.yourcompany.*
).Convenient for quickly signing multiple apps that don't use specific app services.
Cannot be used for App Store submission.
Managing Provisioning Profiles with the Keychain Tool:
The Keychain Tool (Start Menu > Darwin Build Environment) is used to import and manage your provisioning profiles on Windows.
Download your generated
.mobileprovision
(for iOS) or.provisionprofile
(for macOS) files from the Apple Developer Portal and import them into the Keychain Tool.When configuring your signing identity in the Keychain Tool, you'll select a provisioning profile, which then helps determine the compatible certificate and private key.
Last updated