gumbypp's iPhone device testing page

Provisioning is the way by which you can test on a device. Only iPhone developer program members get this privilege - which is reasonably priced at $99/year. All of the action starts at the Developer program portal.

Here's what you need to do for on-device testing:


You'll probably need at least one development certificate and one distribution certificate. You'll need a development certificate if you want to test with the APNS (Apple Push Notification Service) sandbox, or if you want to debug on the device with Xcode. I've never needed more than one of each. The distribution certificate can be used for both Ad Hoc and App Store distributions. Each certificate can be mapped to one or more devices in a profile when provisioning.

Creating a new certificate:

Note: make sure that you install the "WWDR Intermediate Certificate".

App IDs

Apple says: "App IDs are an integral part of the iPhone Development and Provisioning Process that allows an application to communicate with the Apple Push Notification service and/or an external hardware accessory." For every app that uses APNS, In App Purchase, or external hardware accessories, you will need a specific App ID. All other apps can use a Wild-card App ID.

Example App IDs: (specific)
  78AGBPA5X8.* (Wild-Card)

The 10 characters at the start of the ID is called the "Bundle Seed ID". For specific App IDs, the remainder (ex: must match the Bundle Identifier (CFBundleID) in the application's info.plist file. I recommend using a single Wild-card App ID for all of your applications that are not using APNS, In App Purchase, or external hardware accessories. You do not ever need to enter the Bundle Seed ID into Xcode.

Creating a new App ID:


This is how you add a new device (iPhone, iPod Touch and maybe even the new iPad) to your account. Such devices can then be provisioned with a development or distribution profile to run apps that are not available in the App Store (this is called "Ad Hoc" distribution).

Adding new devices:

Note: You can only have 100 devices per license-year. If you delete a device, the slot won't actually be available until the renewal date of your license. Once you add a device after your renewal date, all used slots get locked-in until the NEXT year.


You will probably create at least 3 provisioning profiles: one for development, one for Ad Hoc distribution, and the third for App Store distribution. Each profile must map to one App ID, one or more certificates, and one or more devices. I've never needed to specify more than one certificate in a profile.

Creating a profile:

On-device testing - finally!

Now that you have a provisioning profile, what do you do with it? For Ad Hoc testers, you'll email them that file, which they will drag into iTunes before installing the application binary as described here. But first, you'll need to modify your Xcode project (if you haven't already) to use the profile.

For Ad Hoc distribution:

For local device testing:


Here are some random tips that might make your life easier. Maybe.

Contact me | Main iPhone resource page | Chumby resource page | RadioWeave | RadioWeave blog