Enterprise In-House App Distribution

Distribute Enterprise app in house

You can distribute your Enterprise app without MDM. The way it works is basically you upload the .ipa file and a manifest .plist file to a website somewhere. Then you just put a hyperlink that connects to the .plist file. The end user uses a browser on their device, taps the link, and it installs the app on their device automatically. An easy-to-follow tutorial can be found here. The only problem is that the tutorial uses an older version of xcode that generates the .plist file for you. Xcode 6 will not generate the .plist file, but you can find a sample file here. Just replace the URL of the .ipa file, the bundle identifier, bundle version, and title with your own values.

Enterprise In-House App distribution

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

Using TestFlight to distribute Enterprise in-house application


If you are a registered developer with an enterprise account and are making apps for in-house distribution, TestFlight works with those too. TestFlight fully supports enterprise apps and it works much like ad hoc apps for distribution. Just upload an application signed with an enterprise provisioning profile and distribute to your team and only approved members of your team will have access to the application for installation. There is no need to collect device UDIDs for enterprise.

This is response from TestFlight support, so NO, there is no need for collecting device UDIDs and it should work just like I wrote (just invite people to team via email / register link and approve them and they can download the enterprise app) :-)

How do I distribute an in-house app in iOS

So after some more deeper research I have found that the Custom Apps are the best solution.

To clarify for those as confused as me, there are two methods: in House and Custom Apps.

  • In House is described by Apple as "no longer the standard" but still working. It apparently needs an MDM to work, also an Apple Enterprise developer Program membership. The apps expire every year so you have to keep an eye on it.

  • Custom App (the new way of doing it). It doesn't need an MDM to work (but can be used with it), the other option is to provide redemption codes that an user can use to download the app in the App Store (or with a direct link also provided by Apple). You won't need an Apple Enterprise developer Program membership but a normal Apple Developer Program membership (an the organization will have to be registered in the Apple Business Manager).

Here you have a step by step guide to do the complete process.

Distribute App in House


If we deploy an app in house does it still need submitting to Apple or does this method overcome this problem?

No it does not require submitting to Apple.

Are there any additional requirements?

Yes, you need an Enterprise developer account. Require your own server to host the apps and need to implement method of distribution. You can also opt for 3rd party MDM services who manage the entire server part for you. But there is a cost involved.

What limitations are there if any over publishing to the app store?

In house signed apps install on any devices without having to add the UDID. Downside to this is illegal distribution of your app, hence the need for secured server or authenticated downloading. Also the enterprise account expires after one year, the apps need to be distributed again with the renewed in-house provisioning.

You can go through Distributing Enterprise Apps for iOS Devices for In-house distribution.

Hope that helps!

iOS In-House App Distribution

If you distribute your app as an Enterprise app you can't tie it to a UDID like ad-hoc deployment (granted as an Enterprise developer you still have 100 devices you can distribute as ad-hoc to).

You can use TestFlight for distribution of Enterprise apps, it allows you to maintain lists of authorized users/devices and you can manage who gets builds etc such that Testflight's installation process will only install your app onto devices you've authorized. Even if the email is opened on a unauthorized device it won't install. Users could still endeavor to get your app off their device and try to install it elsewhere but...

If the devices are all < iOS6 you could references the devices' uniqueIdentifier and check that against a maintained list of UDID's such that the app can obviously still be installed but it couldn't be run.

Another alternative is requiring them to sign into the app on launch or it won't run.

iOS Enterprise in house app distribution error

You have the wrong type of provisionning profile. It needs to appears as iOS UniversalDistribution in the provisionning profile list . When creating your provisionning profile, choose Distribution > In House



Related Topics



Leave a reply



Submit