Ad Hoc build of iphone app is very important one as per the testing of an app is concerns on various device
You can send that build to client’s by using their UUID. Its very easy to get UUID of iPhone by plug-in iPhone and checked “Identifier” in Summary tab from iTune or Xcode Organiser.

Mandatory things!
1)Mac machine
2)Developer License($99)
3)Device for testing(Simulator is sufficient to generate Binary(Build))

After testing your code on simulator you need following things to run your application on Device(iPhone,iPad,iPod touch):

1)Create a certificate(developer/distribution) on iPhone developer portal(login to http://developer.apple.com/iphone), Open Applications folder from your dock, open the Utilities folder and launch Keychain Access, In the Preferences menu, set Online Certificate Status Protocol (OSCP) and Certificate Revocation List (CRL) to “Off”.

Choose Keychain Access -> Certificate Assistant -> Request a Certificate from a Certificate Authority.

In the below screen fill the information which you proviede while applying for iPhone developer program. So everything should be the same like you enter’s already.
So, In the User Email Address field, enter your email address. In the Common Name field enter your name. Empty CA (Certificate Authority) Email Address. Select the ‘Saved to Disk’ radio button and select ‘Let me specify key pair information’ and before clicking ‘Continue’ make sure that the all the fields entered matches the information that was submitted when you registered as an iPhone Developer.

Once you clicked on “Continue”, a prompt will be shown. Specify a file name and click ‘Save’. In the following screen select ‘2048 bits’ for the Key Size and ‘RSA’ for the Algorithm. Click ‘Continue’.

The Certificate Assistant will create a CSR file on your desktop.
After creating a CSR, log in to the iPhone Developer Program Portal and navigate to ‘Certificates’ > ‘Development’ and click ‘Add Certificate’.
Click the ‘Choose file’ button, select your CSR (from desktop) and click ‘Submit’. If the Key Size was not set to 2048 bits during the CSR creation process, the Portal will reject the CSR.
Upon submission the certificate, you have to clicked on Approve as well, if you are the Admin.
Once your CSR is approved by Admin then download that in to your mac machine. On your local machine, double-click the downloaded .cer file to launch Keychain Access and install your certificate. You will see the certificate with your Name there (either distribution or developer).
Note: After Certificate is created you will never have to do the this step again for any application. This is only one time process.

2)Creating an App Id is very easy and you dont have to do this step again while the process of developing any other application, you have to follow few simple steps:
Log in to the iPhone Developer Program Portal and navigate to ‘App IDs’ and click ‘Add Id’.
In “App Id Name” enter any name, in my case I will enter wildcard and in “App Id” enter something like * and clicked on Submit.

3)Now the second last step is to add devices on your Developer Portal.
Log in to the iPhone Developer Program Portal and navigate to ‘Devices’ and click ‘Add Device’.
In “Device Name” insert your Name/Client iPhone name(i.e AdeemApp) and in “Device ID (40 hex characters)” enter the 40 hex char words( these words can easily be found using iTunes. If you dont know then kindly mail me, I will guide you through). After that click on “Submit”

4)Now the last step is to create a Provisioning File for your iPhone or client’s iPhone and this will be your last step for creating binary which you can install on your iPhone or client’s.
In to the iPhone Developer Program Portal and navigate to ‘Provisioning’ > ‘Distribution’ and click ‘Add Profile’.
Now select “Ad Hoc” in “Distribution Method”
In “Profile Name” type your application name (i.e iphoneapp). This name will be your provisioning profile name.
In “App ID” select the app name (i.e wildcard) which you created in Step 2
Mark checked to all the Device ID’s you created in (Step 3) or you will need for distritbution.
Click Submit and after that refresh your page 1 or 2 times until you see the download button.
Download the Provisioning profile and copy it to your /YourUserName/Library/MobileDevice/Provisioning Profile folder.

5)Now everything is step up on Developer portal, open your project in Xcode

Select your project from “Group & File” in left side bar. Right click on it and select “Get Info”.

Move to “Configuration” tab and select “Release”. Press the “Duplicate” button from bottom, name is “Distribution”.

Click on “Build” tab and select “i-debug” and type in “Search in Build Settings” filed ‘Base SDK’ and select the current selected Device and change it to what device your application is targetting ( latest iOS 4.2)

Now in “Search in build setting” field type “code signing identity” and select the provisioning profile you created in Step 3. Also do the same thing for the child property “Any iPhone OS Device”.

Select your project from “Group & File” in left side bar. Right click on it and select “Add”> “New File”

Select “Code Signing” under “iPhone OS” and select “Entitlements” and clicked Next. Name it Entitlements.plist and press Finished

Now Close the Info screen and select the “Target” > “YourApp” from “Group & File” in left side bar and clicked on “Info” button again from Xcode.

Now looked for “Code Signing Entitlements” and double clicked on the empty place. It will come up with an prompt. Enter “Entitlements.plist” and press ok

Now in “Search in build setting” field type “code signing identity” and select the provisioning profile you created in Step 4. Also do the same thing for the child property “Any iPhone OS Device”.

Now Info screen is still open clicked on “Properties” tab and in Identifier field type the “* or com.yourorganization.appname”
Everything is set up, click on “Build”(cmd+B) from Xcode>Build
Now right click on “Product”>”YourApp” and select “Reveal in Finder”. This is your binary file so please zip this file.

6)Send this Zip file to your clients along with the provisioning file you created( in step 4). Asked them to drag that proviosiong file in to iTunese > Library> Applications and then drag that zip file in the same place. It will successfully be placed in iTunese Application. Installed it to your iPhone then using sync.