Enterprise In-House App distribution
I'm developing an iPad application for a company. Because of confidentiality reasons they do not want to publish the app to the app-store.
The fulfill the enterprise program requirements but they have not participated yet. The company wants to know how the distribution process is. I've dived into apples documentation jungle and i'm a little confused about the provisioning profiles. Due to the confidentiality reasons I'd like to use the apple security api using DeviceLock with configuration profiles so I came across with MDM-Servers.
Now my actual question: Do I still need the UDID of every Device I want to use with enterprise program AND if yes, can I push new provisioning profiles (with new devices) to all existing devices via MDM-Server without recompiling and redistribute the whole app?
You definitely don't!
You can distribute the app via
- In-House Distribution: Building with that profile will create an .ipa and a .plist file. You put that on a website that is protected via basic authentication. Put a link to the plist file on the site in the below format. Then you can just browse to that site with any ios-device, type in your credentials, click on the link and install the app.
<a href="itms-services://?action=download-manifest&url=http://myDomain.de/path/to/the/MyApp-Version.plist">Download my cool App!</a>
- Ad-Hoc Distribution (Also possible with Developer Program for Beta-Testing up to 100 devices): Here you use device-ids. You build the app and get an .ipa and a .mobileprovision file (a certificate needed to install the app). You send those 2 files to a customer and he installs it via itunes (not sure if he can open it directly from the mail on the device).
I'm not sure you need the UDID of each device in the enterprise program. This answer seems to imply you don't need to.
You definitely can push a new provisioning profile without re-compiling.
You'll also have to plan on updating the certificates each year, see:
An app will not run if the distribution certificate has expired. Currently, distribution certificates are valid for one year. A few weeks before your certificate expires, request a new distribution certificate from the iOS Dev Center, use it to create new distribution provisioning profiles, and then recompile and distribute the updated apps to your users.
Source: http://developer.apple.com/library/ios/#featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html
With Enterprise distribution program, you can sign your app with In-House distribution certificate which doesn't require UDIDs. That app can be installed on any iOS device and provisioning profile is embedded in the App. For the apps already written and distributed using AdHoc builds you can codesign .app using codesign tool in your mac to sign the app using in-house certificate and convert to ipa.