Create an ad-hoc provisioning profile

From Iphone
Jump to: navigation, search

From time to time during the project, your developer will send a preview copy of the application. Because it's not coded for the AppStore yet, he has to use a special provisioning profile to make it work on test devices. Each developer can only provision up to 100 devices so, rather than the developer adding a handful of devices for each client, it makes more sense for each client to create a profile and include the developer's devices. (Some clients have multiple devices, want to include their friends, partners or relatives, etc.)

To create an ad-hoc provisioning profile:

Log in to the iPhone Developer's Portal

Add Devices

From the portal...

  • Select DEVICES (left side.)
  • Add devices:
    • The devices list will sort alphabetically. When adding devices, give them names to help identify them and sort into a useful order. For example, you might prefix all of your devices with your initials, and all of my devices with "MF_" (for
 - Include your devices, of course.  (You can email your UDID to yourself, for easy copy/paste.)
 - Add's test devices (before doing this, find out which group(s) of devices you need to add!):
   49b82925cd3cebb1cfc753e1dde10ce8dba9a3af - oPhone4G
   698d4b41cc2dfb27b8fb28f34e35167b0ffbc462 - vPhone5
   c2fcfa426f1e2eeb96df6164901cc4b689448dd2 - PodBayDoors (2G)
   19cf3ba953409ff3b4362062000c1add6735622f - iPaid
   7c2ce7fb1540980b7aea6dec518846992fd7a7b8 - iPaid-3
   3175413f5edc97e70fa1ef7015da74af15f6f4d4 - shPhone3GS
   d729cbb1c5f1879260df288512fcc3b1041c067e - shPhone4
   019f7e235cbaf47a249b7647244e5e996fe2a3aa - vPhone3G
   68f5390f895366e6b48ad22bd93cdf6cd0bf3092 - ab-Pod
   455086fa264863fcd9c91016f33f414bd8080ad0 - gs-Pod
   76c566ed8a9f03610b1250c8ec3a81197f0836f1 - shPhone3G
   63a4b0ad0baf0ff6cfe778427ca41fbcc9d92ab3 - LuPhoneEdge
   1b8df9790e7997a2ffa2622c04d3de95de7de324 - oPhone3G
   263832f1532d196e084d199f143bd72c78b0f580 - jPhone3G

Create a wildcard App-ID

While still logged in to the portal...

  • Select APP IDS (left side.)
  • Select New App ID.
 - Enter App-ID name as "JustWildcard" (no quotes.)
 - For Bundle Seed, select USE TEAM-ID.
 - For Bundle ID, just put "*" (no quotes.)
 - This creates a profile that will work for any app, so you don't have to make a new one for each project.
 - Submit.

Create the ad-hoc profile

(Still in the portal...)

  • Select PROVISIONING (left side.)
  • NOTE: If you have not already created a DEVELOPER profile, then select the DEVELOPER tab (along the top), and create one of those, first.
Name your developer profile something like "DevelopmentProfile", the end filename will be "Development.mobileprovision".
If you already have one, then continue to the DISTRIBUTION tab to create your AD-HOC profile.
  • Select DISTRIBUTION (along the top.)
  • Select ADD PROFILE
 - Distribution method: AD HOC
 - Profile name: "AdHocForYourCompanyName"
   For example: Mine is called "AdHocForManyFriends"
 - App ID: JustWildcard (the one we just made in earlier steps.)
 - Check all of the appropriate devices.
   This is the list of devices that will be able to install the previews emailed to you by your developer.
   Obviously, if someone does not receive the preview, they can't install it, even though the app is coded to install on their device.
 - Select SUBMIT.
  • If the new profile does not have a DOWNLOAD link, wait 60 seconds, then select the PROVISIONING link (left side) again. Repeat until you can download the profile.
  • Download the provisioning profile.

Export the Certificate/key-pair matching the Ad-hoc profile

NOTE: In order for your developer to use your ad-hoc profile, he will also need the exported private key used to create that profile.

NOTE: As of XCode 4, the tools to do this exporting are in the Organizer window.

  • Launch XCode
  • Select menu item: WINDOWS -> ORGANIZER
  • Select DEVICES (top-center.)
  • Select your team (under TEAMS along the left.)
  • Select EXPORT (bottom left.)
  • Save the export file to your desktop with a password.
  • Mail that file to your developer, and tell him the password.

Send files

  • Place both the ad-hoc mobile provisioning profile and the exported team credentials into a folder named "Ad-hoc for <your company name>".
  • Zip-compress the folder to prevent email mangling of the data files.
  • Email the .zip file to your developer.
    • Don't forget to send the password used in the export, too!

Renewing a profile

Renewing is just a matter of re-issuing. It's like creating a new profile, but most of the information is already entered.

  • Log in to
  • Navigate to developer portal.
  • Select 'PROVISIONING' (along the left side.)
  • Select 'DISTRIBUTION' (along the top.)
  • Select 'EDIT' -> 'MODIFY'
  • Change something (uncheck, then re-check a device checkbox.)
  • Select 'SUBMIT'. That profile will change to 'PENDING' status.
  • Wait 10 seconds, then select 'DISTRIBUTION' again (along the top.)
  • Download the new profile.

Depending on what is about to expire, you may have to "tickle" both your ad-hoc and your app-store profiles.