Skip to content
Command line tool to aid in distributin iOS appliactions OTA using the ITMS-protocol (supported by iOS4 and later).
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information. Initial commit, itms, plist and provisioning profile works Jun 6, 2012

iOS OTA Buddy

Command line tool to aid in distributing iOS appliactions OTA using the ITMS-protocol (supported by all iOS4 devices and later).


The easiest way to distribute ad-hoc builds is to download them through Safari, this is supported from iOS4. OTA-builds are perfect when you want to distribute to a limited audience, e.g. nightly builds, test builds, debug builds etc. After building your application archive (.ipa) and signing it with your ad-hoc distribution provisioning profile you some additional steps to enable OTA distribution.

First of all, you need a web-server or dropbox account to put the files. If you want to use Dropbox, simply put your files in the Public folder and right-click to get the public URL.

To download the application from your phone you need an itms-services link that points to a plist-file containing some metadata regarding your application. The plist contains (among other things) the URL to the actual application file (.ipa).

To install an ad-hoc application on your device you need to install the provisioning profile used, which also needs to contain your device UUID (see Apple's documentation on this).

This tool will help you extract the provisioning profile used, create the necessary .plist and generate the itms-link.

Step by step

  1. Build your application archive with Xcode or xcodebuild
  2. In Xcode Organizer, select Share, sign your application and save the application.ipa
  3. Move the application.ipa and file to your distribution folder (on the web-server/dropbox)
  4. Enable execution "chmod +x"


  1. Extract the .mobileprovision to adhoc.mobileprovision by running "./otabuddy provisioning application.ipa adhoc.mobileprovision"
  2. Create the .plist file by running "./ plist application.ipa application.plist"
  3. Generate the itms-services link by running "./ itms"
  4. Create a HTML-file with an anchor with the itms-link created in step 7 and a link to the provisioning profile extracted in 5.
  5. Visit your HTML-file and download your application. Remember to download the provisioning profile first.
  6. Enjoy!
You can’t perform that action at this time.