Over-The-Air installation

Create and distribute an iOS package using an Over the Air (OTA) installation.

Before you begin:

You have packaged your app for iOS. Packaging an iOS app can only be done from an MacĀ® OS development machine. The images defined by the package properties Icon (58x58 px) , Icon (60x60 px), and Icon (1024x1024 px) are used during the over-the-air installation; be sure these properties were set when the package was created.

OTA installations can be completed by members of either the Apple Developer Program or the Apple Developer Enterprise Program.

The Apple Developer Program can distribute over-the-air programs signed with "ad-hoc" provisioning profiles. It only works for up to 100 registered devices. Advantages of this method of OTA distribution:
  • The download link can be publicly shared because only registered devices can install.
  • No additional trust settings are required on the phone.

The Apple Developer Enterprise Program can distribute "ad-hoc" programs with an ad-hoc provisioning profile and "in-house" programs signed with an in-house provisioning profile. Apple may require explicit information about the purpose of the app, and the installed app needs to get a trust in the device settings. See Install custom enterprise apps on iOS for the lastest information.

Regardless of which developer program you use, you must have:
  • An explicit App Id (BUNDLE_IDENTIFIER).
  • An ad-hoc or in-house provisioning profile (PROVISIONING_PROFILE).
  • A Distribution Signing certificate (IDENTITY).
Your challenge is to ensure the combination of these three elements working together. The same combination must also work when performing a standard USB install.
  1. Set the OTA_URL environment variable to a URL. When the package is created, a packagename.plist file is generated. A URL is displayed in the output that can be used for OTA install.
    Important:

    OTA_URL is only valid in the context of the $GMIDIR/demo/MobileDemo/gmiclient/Makefile. To determine the OTA_URL, see the OTA section in $GMIDIR/demo/MobileDemo/gmiclient/Makefile.

    This step generates a HTML page with a CSS file to upload to a web server which automatically contains the URLs for downloading the IPA and installing the application.
    These files are generated in the directory specified by the Distribution directory property, which by default is $(ProjectDir)/distbin.
  2. Upload the plist file and the ipa package.
    Important:

    The Web server must be an HTTPS server.

  3. Send the URL to the iOS device by mail or SMS. Alternatively, upload the generated HTML page and its companion CSS file to a web server.
  4. On the iOS device, click on the URL.
    The app installs on the device.