Warning: Use of undefined constant fb_replace_wp_version - assumed 'fb_replace_wp_version' (this will throw an Error in a future version of PHP) in /usr/home/heximal/data/www/heximal.ru/public/blog/wp-content/plugins/replace-wp-version/fb-re_wpversion.php on line 39
Wireless Enterprise/AdHoc Distribution | heximal blog

Warning: Cannot modify header information - headers already sent in /usr/home/heximal/data/www/heximal.ru/library/Heximal/Lang.php on line 43
Home > Apple > Wireless Enterprise/AdHoc Distribution

Wireless Enterprise/AdHoc Distribution

February 15th, 2012 Leave a comment Go to comments

Warning: count(): Parameter must be an array or an object that implements Countable in /usr/home/heximal/data/www/heximal.ru/public/blog/wp-content/plugins/wp-syntax/wp-syntax.php on line 83

My duties of iOS developer include AdHoc deployment. I have to deal with delivery (deployment) adhoc versions to customers iOS-devices. Everything would be fine, but sometimes it’s very hard to explain a person how to install IPA-file on his device (iPhone, iPad and so on). But recently I’ve discovered a stunningly simple way to setup adhoc device using … standard Safari-browser supplied in iOS. In fact, any other browser is also compatible with feature. Installation is preforming in just one click.

First of all I will describe briefly how to install regular IPA, if somebody may be doesn’t know, but if someone knows he may jump directly to a new method description.
So, in order to establish the adhoc-version of the application for a specific device you need:
– Have an AdHoc Distribution Profile, which contains an UDID of the device,
– Build adhoc-version of the application that contains this profile (in xCode, Product -> Archive).
– Send across the resulting IPA to user
– The user runs iTunes.app (or iTunes.exe if on Windows) on his computer, drag IPA file from the Finder window directly to iTunes library. It should appear in Applications

– Then user connects his device to a computer and selects it in the device list in iTunes, changes to the section, find the right program, sets an Apply checkbox and clicks Apply.


Not the most simple action, even for trained users.

Now a NEW METHOD of easy to installation IPA adhoc in one click without having to connect to a computer and use iTunes (aka Wireles distribution).
First I need to say that this possibility exists only for devices with iOS 4.0 and above. In addition, the possibility of this is not documented properly and not all is still unknown about it. And one more thing. It does not deliver us from adding target devices UDIDs to the profile.
So, what do we need to do? The AdHoc assembly process is standard: choose a platform iOS device, then the menu Product -> Archive, we archive the application then find it in Organizer’e, click Share, a dialog appears

Set the desired AdHoc Identity, click Next, select the pop-up window to save the file and set the checkbox Save for Enterprise Distribution, then fill the form fields.

Click Save then get two files:. Ipa and. Plist. The second one contains a manifest – it is mostly for IPA binding to the specified URL. All that remains to do is html-file file download page, for example, the minimalistic html:

<title>My Genius Application</title>
<a href="itms-services://?action=download-manifest&url=http://heximal.ru/adhoc/genius/MyGeniusApp.plist">Install MyGeniusApp</a>

The secret is a special link (itms-services ://). Of course, nothing can stop us from decoration of Pages (:
Then put all three files to the server, of course to the desired location (in the example folder http://heximal.ru/adhoc/genius), and voila. Open in iOS Safari the page, click link, and …

Epilogue. When I’ve been learning the subject I’ve stumbled upon some discontent regarding the functionality of programmers xCode who’s been complaining for need to make Meta handles each time when new adhoc build is done. I’ve found one interesing solution on this blog. The developer has written a generator that can do all of the stuff described above with the input IPA file and URL. His app generates pretty smooth html page.


Main feature of this app is that it remembers each BundleID for custom URL, which and we don’t have to copy and paste it over and over again. In addition, the project is open-source.
The idea of the app above can be improved for instance by reproducing its logic on server side, saying, using my favourite PHP. We can even create a kind of tracking system: make upload page, specify the file on disk, put some comments for the build. Press submit and the server script does all the magic.

Categories: Apple Tags: , , ,
  1. Станислав
    October 13th, 2013 at 07:42 | #1

    Спасибо – помогло и работает! Я использую для установки на свои устройства, чтобу не подключать кабелем каждый раз.

  2. Artur
    April 25th, 2014 at 08:08 | #2

    От чистого сердца спасибо!

    Мне тоже закачзик прислал ipa файл и я мозг сломал как его поставить. В итоге джелбрекнул айфон и поставил =)) Это третий способ =)