First, you need an iOS Dev Center account that has the role Agent to distribute apps. The role Admin or other roles won’t allow you to do so. Update: it looks like Apple made some changes and it’s now possible to distribute with an Admin account.
1. Logon to the iOS Dev Center (here).
2. Go in the iOS Provisioning Portal.
3. Go to Certificates section and Distribution tab. Make sure you have a valid certificate.
5. Go to Devices section and add the devices you want to use to test the app.
6. Go to the App IDs section and add a new App ID if you didn’t already.
7. Go to Provisioning section and Distribution tab.
8. Create a new Ad-Hoc Distribution profile with the following settings.
9. Download the .provision file and double-click it. It should be added to XCode’s Organizer.
In Xcode (here)
10. In Xcode 4, create a new configuration for the distribution build. Open your project Info page:
13. On the left navigation panel, select Archive. On the right panel, in Build Configuration, select Ad-Hoc (the one created in step x). Close this window.
14. In the scheme drop down, make sure iOS Device is selected.
15. Go to project Menu -> Archive.
*** If you have trouble Archiving check this out: http://stackoverflow.com/questions/1760518/codesign-error-provisioning-profile-cannot-be-found-after-deleting-expired-prof
16. In the Organizer, select your newly created archive and click on the “Share…” button.
17. Select iOS App Store Package (.ipa) radio button
18. Select your newly created project AdHoc distribution provisioning profile
19. Select “Save for Enterprise Distribution”
13. To distribute over-the-air follow this guide: http://aaronparecki.com/How_to_Distribute_your_iOS_Apps_Over_the_Air