What is the difference between a Development Provisioning Profile and an Ad Hoc Provisioning Profile?

Bobby Bruckovnic picture Bobby Bruckovnic · May 12, 2013 · Viewed 24.9k times · Source

What is the difference between a development provisioning profile and an ad hoc provisioning profile?

Couldn't we always use the ad hoc profile for everything but the store?

Answer

Daniel Martín picture Daniel Martín · May 12, 2013

An ad-hoc provisioning profile is used later in the development process, particularly when you want to distribute your app to a small or medium size group of testers that are not included in the iOS developer program for your organization. An app deployed with an ad-hoc provisioning profile will be almost identical to the version you submit to the App Store (ie. it will need a distribution certificate for push notifications to work, etc.)

Of course you could add your QA team and betatesters to the organization and use a development provisioning profile, but this approach has many disadvantages:

  • You may end up with many development certificates, making it difficult to manage them.
  • You are giving your betatesters the right to compile and run the app on a device. (This is a extremely bad policy.)
  • You want to test your app in the closest possible environment to the App Store environment. Development environments, like running the app from Xcode, can masquerade some bugs that will show up when you publish your app.