Further Readings

Apple’s Volume Purchase Program

Overview

Apple VPP Business Guide - General information from Apple about the VP Program

How it works:
  1. Enroll

    Enroll in the Volume Purchase Program by creating an Apple Deployment Programs account. You’ll be asked to create a dedicated Apple ID for administering the program and provide basic information about your business.
    Enroll now:
    for Business
    for Schools

  2. Set Up

    Set up program administrators who are responsible for purchasing and distributing content for your organization. A program-specific Apple ID will be created for these new administrators.
    Sign in:
    for Business
    for Schools

  3. Purchase

    Purchase through the program in three simple steps. First, log in to the VPP store and search for the content you need. Second, enter the quantity you want to buy. And third, complete the transaction with a corporate credit card or VPP Credit.
    Log in to the VPP store: https://vpp.itunes.apple.com/us/store

  4. Distribute

    Distribute content to individual users by providing them with redeemable codes for each app or book. Or streamline company-wide distribution by assigning apps directly to users or groups using an MDM solution. Content can only be distributed to users in the same country or region where the app or book was purchased.

How to Purchase, Distribute, and Manage Content

Enroll

To get started, you’ll need to complete the online enrollment process and create an Apple Deployment Programs account with Apple. You’ll also need to verify that you can act as an agent for the program on behalf of your company before completing the enrollment process. Program agents are responsible for agreeing to the terms and conditions for each program they enroll in. And they are also responsible for setting up additional administrators, as needed, to make purchases on behalf of your company.

To begin the enrollment process, go to business.apple.com for Businesses or school.apple.com for Schools. You’ll need to provide the following:

  • Phone nr., email adress, business adress

  • D-U-N-S number

  • Tax registration information (VAT registration)

Apple will approve your account then.

Set up:

  • Add administrator(s) to your account after sign in.

  • Select apps from (vpp.itunes.apple.com)

  • Choose the quantity.

  • Choose distribution type

  • Managed Distribution (with Relution)

  • Redeemable Codes

  • Pay with VPP Credit, Click&Buy or a corporate credit card

After purchase, Apple takes a few minutes to prepare your order. Wait until you receive email confirmation before continuing to the next step.

Managed Distribution

Available only for iOS7 and higher

  1. Link your MDM solution, by going to account summary and download a token.

  2. Upload this token to Relution (you need to transfer a new token every year)

  3. Invite users (via Relution) via push or email.

  4. Users accept invitation by clicking on the link sent by Relution (example https://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/associateVPPUserWithITSAccount?cc=us&inviteCode=XXXXXXXXXXXXXXXXXXXXX&mt=8) and signing in with their private Apple ID (The private Apple IDs are not visible to the adminsitrators.)

  5. Via Relution it is now possible to assign (push) the apps to the users device.

It is possible to assign and revoke the apps to different users. Users can then choose to save the data or to buy a personal copy if an app has been revoked.

Relution Administrators can immediately uninstall the app from the users devices. The users will be granted a grace period before removing the app completely.

Relution does not support redeemable codes for purchasing.

Making iOS Apps ready for Relution

Checking for Updates

The list of applications is loaded from the Enterprise App Store every time the application is starting. There are two meta attributes transferred for each application which are not displayed inside the application:

RLA - The encoded unique application identifier of the application

RLV - The encoded unique application identifier of the latest version available on the EAS

These attributes originate from the info.plist file inside the .ipa file which is parsed while it was uploaded to the Enterprise App Store.

The attributes themselve become written into the info.plist file by a script which is triggered within the compile process. (as described in the following section)

A mechanism provided by Apple called “URL schemes” is able to determine if an application is already installed and in which version.

To enable this feature, there must be two links created within the application’s code:

rla\{unique application identifier of the application}*://*

rlv\{unique application identifier of the application version}*://*

If the url scheme validation of the rla link fails, it is presumed that the application is not installed and thus the “install” button is displayed inside the Relution app. In case the validation is successful and the Relution client recognizes this application as installed, it continues checking the rlv identifier to determine the installed version of the application. If the identifier does not match the previously received identifier of the latest version, the client recognizes the application as older version and displays the “update” button. In the case the identifiers match, the application is seen as latest version and the “open” button is displayed.

It is important to note that it is not possible to explicitly extract the application version and there is no validation if the application provided by the EAS is really newer than the installed one. So this kind of validation only provides the information that a different version than the installed application exists on the device.

The described validation process is done for every application available in the Enterprise App Store. All applications which can be updated are listed in the update section of the Relution application.

The number of available updates is displayed as badge on the application icon of Relution on the device’s homescreen and next to the update menu entry inside the app (iOS). This ensures that the user is always informed about possible updates available.

Creating the script for RLA and RLV URL schemas

In order to recognize previously installed applications on the device, the presence of two url schemes inside the info.plist file (which is contained in the .ipa file) is necessary.

These schemes can be generated by a script which needs to be added to the compile process inside the Xcode IDE. The script can be found in mcap-server/dev-tools/scripts/add_rla_rlv.sh

To use the script please add the script to your project and add a “build phase” like you can see in the screenshot. Do not add this to your target(s).

Copy the following script here:

if [ -f "$SRCROOT/add_rla_rlv.sh" ]; then
  /bin/sh "$SRCROOT/add_rla_rlv.sh"
fi

(Please check if you do not have any blacklines, whitespaces or linebreaks in this code snippet)