Create an ad-hoc provisioning profile
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
- Log in to http://developer.apple.com/ios
- Go to iOS development portal (upper-right side.)
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 ManyFriends.com).
- Include your devices, of course. (You can email your UDID to yourself, for easy copy/paste.) - Add ManyFriends.com's test devices (before doing this, find out which group(s) of devices you need to add!): (Group-1) 49b82925cd3cebb1cfc753e1dde10ce8dba9a3af - oPhone4G 698d4b41cc2dfb27b8fb28f34e35167b0ffbc462 - vPhone5 c2fcfa426f1e2eeb96df6164901cc4b689448dd2 - PodBayDoors (2G) 19cf3ba953409ff3b4362062000c1add6735622f - iPaid 7c2ce7fb1540980b7aea6dec518846992fd7a7b8 - iPaid-3 3175413f5edc97e70fa1ef7015da74af15f6f4d4 - shPhone3GS (Group-2) d729cbb1c5f1879260df288512fcc3b1041c067e - shPhone4 019f7e235cbaf47a249b7647244e5e996fe2a3aa - vPhone3G (Group-3) 68f5390f895366e6b48ad22bd93cdf6cd0bf3092 - ab-Pod 455086fa264863fcd9c91016f33f414bd8080ad0 - gs-Pod (Group-4) 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.
- 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 http://developer.apple.com/ios
- 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.