iOS Question Solved: Difference between Development and Ad-hoc certificates and provision (includes tutorial)

b4auser1

Well-Known Member
Licensed User
Longtime User
Please explain what is the difference between Development and Ad-hoc certificates and provisions ?
When I should use Development and when Ad-hoc one ?
 

tufanv

Expert
Licensed User
Longtime User
A quote from Erel :
I recommend using a Production SSL Certificate with a Distribution / Ad Hoc provision profile. This way you can use the same tokens during development and in production.

this way you can use one pair for both development and production.

For your question , distribution is used for when submitting for app store and ad hoc is for limited number of devies that you add to provision file. for example if you are going to code an app just to use with your family, you can add their udid to provision file so that only those people can use the app with installing the ipa without sending to app store.
Please explain what is the difference between Development and Ad-hoc certificates and provisions ?
When I should use Development and when Ad-hoc one ?
 
Upvote 0

b4auser1

Well-Known Member
Licensed User
Longtime User
Let's sort out the information which I have collected.

https://developer.apple.com/library...uide/TestingYouriOSApp/TestingYouriOSApp.html
http://stackoverflow.com/questions/...velopment-provisionong-profile-and-a-ad-hoc-d
http://stackoverflow.com/questions/...c-distrubution-and-developmental-distribution

There are 2 certificate types:
Development (iOS App development)
Production (App Store and Ad hoc)

There are 3 provision types:
Development (iOS App development)
Distribution (Ad Hoc)
Distribution (App Store)

Production (App Store and Ad hoc)+Distribution (App Store) is for submitting to app store.
Development (iOS App development)+Development (iOS App development) is for testing apps on physical devices. Debugger can be attached and you can debug app on physical device.
Production (App Store and Ad hoc)+Distribution (Ad Hoc) is for testing apps on physical devices. Debugger cannot be attached to Ad hoc build, because distribution builds are optimized with debugging information stripped.

Both Development (iOS App development)+Development (iOS App development) and Production (App Store and Ad hoc)+Distribution (Ad Hoc) allow to install app over air without app store with the following limits:
Each individual or organization can register up to 100 devices per product family per membership year for development and testing.
You can register 100 devices of each type per year. For iOS apps, you can register 100 iPad, 100 iPhone, and 100 iPod Touch devices.
At the end of the year when you renew your account you can edit this list and reset your device quota. Please note: It's possible to register 100 iphones, 100 ipads and and 100 iPod Touch devices.

There are still pairs that are possible to combine from certificate and provision types:
Development (iOS App development)+Distribution (Ad Hoc) - this is not recommended by Erel: "I recommend using a Production SSL Certificate with a Distribution / Ad Hoc provision profile. This way you can use the same tokens during development and in production."
Production (App Store and Ad hoc)+Development (iOS App development) - this is as far as I understand doesn't differ from pair Development (iOS App development)+Development (iOS App development). App includes debugging info and etc.

Other pairs like Development (iOS App development)+Distribution (App Store) don't have sense at all and possibly will not work.

Please fix me if I haven't understood something correctly.
 
Upvote 0

b4auser1

Well-Known Member
Licensed User
Longtime User
So after resolution issues:
https://www.b4x.com/android/forum/threads/solved-build-disappear-in-itunes-connect.79395/
https://www.b4x.com/android/forum/t...ed-payload-containing-only.79279/#post-502287
and reading tons of docs.

https://developer.apple.com/library...uide/TestingYouriOSApp/TestingYouriOSApp.html
http://stackoverflow.com/questions/...velopment-provisionong-profile-and-a-ad-hoc-d
http://stackoverflow.com/questions/...c-distrubution-and-developmental-distribution

Let's sort out the information which I have collected.

There are 2 certificate types:
Development (iOS App development)
Production (App Store and Ad hoc)

There are 3 provision types:
Development (iOS App development)
Distribution (Ad Hoc)
Distribution (App Store)

Production (App Store and Ad hoc)+Distribution (App Store) is for submitting to app store and for testing using TestFlight (wo registering UDID).

Development (iOS App development)+Development (iOS App development) or Production (App Store and Ad hoc)+Development (iOS App development) is for testing apps on physical devices using registered UDID (including B4i-bridge) in profile. Debugger can be attached and you can debug app on physical device.

Production (App Store and Ad hoc)+Distribution (Ad Hoc) or Production (App Store and Ad hoc)+Distribution (Ad Hoc) is for testing apps on physical devices using registered UDID (including B4i-bridge) in profile. Debugger cannot be attached to Ad hoc build, because distribution builds are optimized with debugging information stripped.

Both Development (iOS App development)+Development (iOS App development) and Production (App Store and Ad hoc)+Distribution (Ad Hoc) allow to install app over air without app store (using UDID registered in profile) with the following limits:
Each individual or organization can register up to 100 devices per product family per membership year for development and testing.
You can register 100 devices of each type per year. For iOS apps, you can register 100 iPad, 100 iPhone, and 100 iPod Touch devices.
At the end of the year when you renew your account you can edit this list and reset your device quota. Please note: It's possible to register 100 iphones, 100 ipads and and 100 iPod Touch devices.
Neither Development (iOS App development) nor Distribution (Ad Hoc) allow to test using TestFlight.

There are still pairs that are possible to combine from certificate and provision types:
Development (iOS App development)+Distribution (Ad Hoc) - this is not recommended by Erel: "I recommend using a Production SSL Certificate with a Distribution / Ad Hoc provision profile. This way you can use the same tokens during development and in production."
Production (App Store and Ad hoc)+Development (iOS App development) - this is as far as I understand doesn't differ from pair Development (iOS App development)+Development (iOS App development). App includes debugging info and etc.

Other pairs like Development (iOS App development)+Distribution (App Store) don't have sense at all and possibly will not work.

Summary recommendation to minimize number certificates/provision file:
Use the floowing pairs:
- Production (App Store and Ad hoc)+Development (iOS App development) for testing apps on physical devices using registered UDID (including B4i-bridge) in profile. Debugger can be attached and you can debug app on physical device.

- Production (App Store and Ad hoc)+Distribution (Ad Hoc) for testing apps on physical devices using registered UDID (including B4i-bridge) in profile. Debugger cannot be attached to Ad hoc build, because distribution builds are optimized with debugging information stripped.
See limitations above

- Production (App Store and Ad hoc)+Distribution (App Store) is for submitting to app store and for testing using TestFlight (wo registering UDID).
 
Upvote 0
Top