Table of Contents

iOS App Testing and Ad Hoc Distribution

The instructions Building the Code File for iOS Publishing describe the process for creating an iOS app “.ipa” file that can be used for public distribution in the Apple App Store.

The following section describes variations that can facilitate testing of limited distribution apps that are not posted on the App Store.

App Testing with ViziApps

For most of the app development cycle, ViziApps offers two ways to perform testing. For Hybrid apps, the “Preview App” button in ViziApps Studio will run most of your app right in the browser, however there are some device features, such as the camera or GPS, that require a real device. For testing any app design on real phones and tablets, look for the ViziApps app on the Apple App Store or Google Play. This “player” app can select and run any of the apps in your account, and the full development and testing cycle is free and unlimited. See: Testing Your App.

However, there are cases where you may want to perform app testing that involves a larger group of people, or to verify a fully custom built app including branding features, before committing to the Apple App Store, and this process requires that you create an “Ad Hoc” build. An Ad Hoc build is often referred to as a Beta Test build, because it is distributed to a limited audience for testing purposes, and not posted to the Apple App Store.

Provisioning Devices for Testing

Because an Ad Hoc app does not allow unfettered installation on any iPhone or iPad device, the devices you wish to test must be registered with Apple and associated with your app.

One popular way to alleviate much of the administration of Ad Hoc device provisioning and app distribution is to use the popular service TestFlight. When using TestFlight, you will build an Ad Hoc distribution file as described below, and submit this file to your TestFlight account.

Without TestFlight, the process for registering a new user’s device is as follows:

  1. Ask the user to report their Device Identifier to you.
  2. Log in to the iOS Provisioning Portal using your iOS Developer Account, select Devices under iOS Apps.
  3. Click the Add (+) icon and create a new device for this Device Identifier. Note that your developer account has a lifetime limit of 100 devices, and devices cannot be deleted.
  4. This new device will be used in the creation of your Ad Hoc Provisioning Profile.

Create an Ad Hoc Provisioning Profile

In order to privately build and test your app on real iPhone and iPad devices, you need to create an “Ad Hoc” provisioning profile. Just as the previous section described the process to create an “App Store” provisioning profile (see Create a Distribution Provisioning Profile), you need to create a different mobile provisioning profile. The procedure is similar except as relates to an Ad Hoc distribution instead of App Store.

  1. Log in to the iOS Provisioning Portal
  2. Click Distribution under the Provisioning Profiles menu. Click Add (+) for a new profile.
  3. Select the distribution method as Ad Hoc and enter a profile name. Click Continue.
  4. Choose the app ID for the app you want to distribute. Click Continue.
  5. Select your certificate. Click Continue.
  6. At this point you will be given the opportunity to associate devices with your provisioning profile. You should select at least one device. Click Continue.
  7. Enter a Profile Name (which is just used in the Portal), and click Generate.
  8. The next screen should say, Your provisioning profile is ready. Click Download and save this file. This filename should already include the Profile Name that you just entered, with the file extension “.mobileprovision”.

Creating an Ad Hoc Build

The process for building an Ad Hoc distribution app file is nearly identical to building an app file for App Store distribution. Again, please refer to the help page Building the Code File for iOS Publishing for detailed instructions. The only difference is whether you present to ViziApps Studio your Ad Hoc provisioning profile, or your App Store provisioning profile.

There will not be an extra fee to re-publish your app first as an Ad Hoc distribution and then again as an App Store distribution. However, your final .ipa file posted under “App Store Builds” will be overwritten, so be sure to save each final .ipa file in a unique and clearly labeled location.

Distributing Ad-Hoc iOS App Files

If you are using TestFlight then users will need to report their Device Identifier to TestFlight, and then you may invite them to test your app.

Without TestFlight, send both the Ad Hoc provisioning file and the .ipa Ad Hoc build file to your test user, and instruct them to install both the provisioning profile and the app into iTunes, then connect the device to iTunes and sync. Note that if you have the Device Identifiers for your users prior to building your .ipa app file, then you could include these devices at the time you create the mobile provisioning file and you will not need to distribute the mobile provisioning file to testers.