My goal with these instructions is to provide as close as possible to end-to-end instructions for creating ad-hoc deployments of iOS apps via a webserver, specifically using Delphi. One thing I won’t go into is creating the actual project in Delphi; I will assume you’ve already done that. It also assumes you have a developer ID with Apple.

If you’re going to distribute your app for testing, you will need a couple of things from the developer portal. Go to: and sign in with your developer ID. At the top right under iOS Developer Program is a link to: Certificates, Identifiers and Profiles:

Click the link. On the left are links to the various items you can request:

Firstly, you’ll need an application ID, so click the Identifiers link. To create a new application ID, click the + button at the top right. Fill out the App ID Description; this will typically be the name of your application. If you want this ID to be unique to the application, select Explicit App ID. This will mean you can alter what app services (see the list of services towards the bottom) apply to your application. If you are absolutely certain your app will not need customisation of those services, you can use a Wildcard App ID. Unless you’re distributing many apps that don’t use those services, it is generally a good idea to request an Explicit App ID.

Fill out the Bundle ID field with an ID that you can guarantee will be unique to you. Generally this will be the reverse of a domain name you own, then the name of the app, e.g. com.mydomain.myapp, or for wildcard app IDs, e.g. com.mydomain.*

Select which services (if any) apply to the app and click Continue. If everything looks ok, click Submit. This will register your application ID with the system.

Next (or even before the previous step), you will need to add mobile device IDs that you wish to distribute the app to. The device ID is the UDID for the Apple device (e.g. iPhone, iPad). The UDID can be obtained by connecting the device to a PC or Mac and running iTunes, select the device, go to the Summary page and click where it says “Serial Number”, near the top. The label should change to “Identifier (UDID)”. What follows that is the UDID. There are apps for Apple mobile devices that claim they can retrieve the UDID. Some of these worked before, however they will no longer work from iOS7.

To add devices that you wish to distribute your app to, in the developer portal (where you created the application ID), click Devices. Click the + button to add a device. In the name field, give the device a meaningful name, e.g. Dave’s iPad, and enter the UDID for the device in the UDID field. Click Continue, and then click Register. Do this for each device that you wish to be able to distribute the app to.

You will also need a distribution certificate. Again, this step can be performed at any stage before the last step. In the Certificates section of the developer portal, click Production. Click the + button to add a new certificate. Select the App Store and Ad Hoc option, and click Continue. Follow the instructions given about creating a Certificate Signing Request. When you have done that, click Continue. Click Choose File to select the file created, and click Generate. Click Download to download the file onto your Mac and  double click the file to install it.

The prior three steps are required for the next step, which is creating a distribution profile. In the Provisioning Profiles section of the developer portal, click Distribution. To add a new profile, click the + button. Select the Ad-Hoc option, and click Continue.

Select the application ID you created earlier, and click Continue. Select the distribution certificate you created earlier and click Continue. Select the devices you wish to distribute the app to, and click Continue. Give the profile a name (again, usually the name of your app), and click Generate. You can then download the file to your Mac. This file will be used in part 2 of these instructions.