Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why not use development provisioning instead of ad hoc?

I was under the impression that when you use a development provisioning profile for a build of an app, only the specified developers can deploy that build to a phone.

But I just deployed a build that uses a development profile to a phone using Xcode Organizer, even though I'm not one of the valid developers for that profile. One of my colleagues, who doesn't even have Xcode installed, did the same with his phone using iTunes.

In that case, why not use a development provisioning profile for distributing your app to e.g. your QA team, instead of ad hoc distribution?

EDIT: Please read the part in bold carefully before answering. I'm not asking a basic "how does this work" question. I've made a lot of development, ad hoc, and app store builds, and now I find that I seem to have made some wrong assumptions.

like image 585
lawrence Avatar asked Apr 12 '10 22:04

lawrence


People also ask

What is the difference between ad hoc and development profile?

1. Development: - Used in development phase of the app to run the app on simulator and developer devices. (If a developer device is not in this list the in-development app can not be installed). 2. Ad Hoc: - Is provided to distribute the app to a known finite set of iOS devices outside the AppStore.

What is ad hoc provisioning?

An ad hoc provisioning profile is a distribution provisioning profile that allows your app to be installed on designated devices and to use app services without the assistance of Xcode.

What is ad hoc build?

Ad hoc builds can be installed without iTunes while development builds(. ipa) must be installed from iTunes. Debugger cannot be attched to Ad hoc build while development build has debugger. Device tokens are different as APNS uses two modes sandbox, production environments depending upon build is Ad hoc or ...

What is Dev provisioning?

A development provisioning profile ties developers and devices to a development team. A profile is valid for one year. When choosing devices and certificates, select all devices your team will use for testing and all certificates for developers working on the app.


2 Answers

There's one situation in which you need an Ad Hoc profile, and that's when you want to test Push Notifications.

If you test Push Notifications on a Development Provisioning Profile, your push notifications need to be sent using the Development Push Notification Certificate for your SSL connections to Apple's sandbox APNS server.

If you want to test Push Notifications using your Production Push Notification Certificate and the live APNS servers, you'll have to deploy your app to a device using a Distribution Certificate and Ad Hoc Provisioning Profile (which includes doing the Entitlement.plist retardedness which you can ordinarily skip if you were only using Developer Provisioning Profiles).

Also note that when you deploy using an Ad Hoc profile, your device token will be different from the one you use when you're using the development profile. Also this the recommended way to test APN because there's no back end changes that need to be made between the Ad Hoc build and the final live deployment on the AppStore.

like image 187
Asad R. Avatar answered Oct 21 '22 11:10

Asad R.


Ad-Hoc is not for developers, but for testers. Who do not have iPhone SDK / XCode, iTunes only.

(The answer is: you can install ad-hoc app without developer certificate, and can't do it with development app)

like image 38
bealex Avatar answered Oct 21 '22 12:10

bealex