Provisioning profile

Rajashri Jadhav
2 min readApr 28, 2019

--

- What are provisioning profiles?

A provisioning profile is a collection of digital entities that uniquely ties developers and devices to an authorised iPhone Development Team and enables a device to be used for testing.

Each Development Provisioning Profile will contain a set of iPhone Development Certificates, Unique Device Identifiers and an App ID.

- Individual profile

- Team profile

provisioning profile contains information about App Id, Devices, Certificates

App Id :- This information is to associate Individual/Team provisioning profile with particular app which developers are intending to run on devices

Devices :- Devices are list of devices you will be using to run app with particular app id, devices needs to registered with its Unique Identifier which is included in provisioning profile

Certificates :- It identifies individual( Used for code signing)

- Why we need them?

To allow only authenticate developer to install app on devices mentioned

- What is code signing?

When Xcode request your development certificate, certificate with its public key is stored on developer account. And Signing identity i.e Certificate and its private key is stored on your machine.(To identify authenticity)

Code signing -:

1) Create Certificate with Public/Private key pair

2) Hash is generated and encrypted using private key

3) hash, certificate along with public key is attached in executable

4) At receiver end, hash is decrypted using public key attached and new hash is generated based on information in certificate(algorithm) and both hash are compared to verify if code is tampered or not.

The embedded provisioning profile is installed on the device before the app is launched

- Ad hoc provisioning profile :-

It allows you to distribute your app to testers without Xcode assistance.

It is one of the type of distributed provisioning profile other one we use to upload app to app store. It specifies app Id that matches your app and set of test devices with single distribution certificate.

- App store provisioning profile :-

It contains App id and distribution certificate.

Sources : https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html

https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppStoreDistributionTutorial/CreatingYourTeamProvisioningProfile/CreatingYourTeamProvisioningProfile.html

--

--