Product Documentation

Wrapping iOS Mobile Apps

Apr 17, 2015

Before you wrap an iOS app, download and install the iOS Distribution Provisioning Profile and Distribution Certificate to your computer.

The MDX Toolkit also requires the Java Development Kit (JDK) 1.7. You can download the JDK 1.7 from Java SE Development Kit Downloads on the Oracle web site. The instructions for installing the JDK on Mac OS X are on the Computech Tips web site.

When you use the MDX Toolkit wizard to generate an MDX app, you need to supply your profile and certificate in the wizard. This process generates an MDX file that you can upload to XenMobile App Edition.

Any device on which you want to install the MDX app needs to have the provisioning profile on device. You can be distribute the profile to user devices by using an email attachment. Users can add the profile on their iOS device by clicking the attachment.

To wrap an iOS app with the MDX Toolkit

  1. In your computer, open Applications > Citrix > MDXToolkit and then click the MDXToolkit icon to open the MDX Toolkit.
  2. On the Deployment page, choose one of the following options and then click Next.
    • For IT administrators. Deploy from XenMobile to upload an .mdx file intended for IT administrators to manage with XenMobile App Edition.
    • For Independent Software Vendors (ISVs). Deploy app from App Store to upload a file intended for inclusion as an unmanaged app in an app store. These app extensions can be an .app or .ipa file for iOS devices that have the Worx SDK embedded.
  3. If you chose to deploy the app from the app store, on the Deploy from App Store page, browse to a file on your computer depending on the following conditions and then click Next.
    • Browse to an .app or .ipa file that has the embedded Worx App SDK if you want to deploy the app from the Apple App Store.
    • Browse to an .mpx file if you are running the tool to change the app URL in the MPX package metadata.
  4. On the User Settings page, under App Transition, choose one of the following options and then click Next.
    • MDX apps to automatically manage apps without notifying users.
    • App Store apps to prompt users before transitioning an unmanaged app to a managed app.
  5. On the Verify Apps Details page, complete the following fields:
    1. In App Name, type a name for the mobile app. This step is required.
    2. (Optional) In Description, type a description.
    3. (Optional) In Minimum OS version, view the minimum operating system version on which the app can run.
      Important: Citrix recommends that you leave the value as it appears in the tool. If you change the value to a lower number, for example, the app may not function correctly.
    4. (Optional) In Maximum OS version, type the maximum operating system version on which you want to allow the app to run.
    5. (Optional) In Excluded devices, type the devices on which you do not want to allow the app to run. If you enter iOS devices, use iPad or iPhone. The tool does not support version numbers for these devices. Separate device names by using a comma, such as iPad, iPhone.
  6. Click Next.
  7. On the Create Citrix Mobile App page, choose an iOS Distribution Provisioning Profile and Distribution Certificate from your computer that is used in the signing by the MDX Toolkit in order to authorize you to distribute the app. Provisioning files and certificates may differ depending on the app. For details about the kinds of profiles and certificates Apple may require for a particular app, see the Apple Web site.
  8. Click Create.
  9. In Save MDX, choose a file name for the wrapped mobile app, specify a location on your computer where you want to create the app and then click Create. The MDX Toolkit generates the wrapped MDX (.mdx) file. You can then upload the file to XenMobile App Edition and configure settings in the App Controller management console.
    Important: If an error appears, you can identify the error by viewing the logs.

Selecting the Correct Provisioning Profile

When you wrap a mobile iOS app, you might receive a warning indicating that the app was wrapped successfully, but may contain errors. Errors might occur if the provisioning profile you choose is different than the provisioning profile the app originally used.

The MDX Toolkit can alert you about certain provisioning profile issues. For example, your app may require one or more of the following functions:

  • iCloud app that enables the use of iCloud data storage for your iOS app
  • Push notification that uses the Apple push notification service to deliver messages to the iOS device
  • Special keychain-access-groups entitlement to access the keychain item for another app

App errors appear in the MDX Toolkit logs. To understand the error, you may need to refer to the app requirements.

The logs show the missing key and value pairs for the app. For each key and value pair, you can decide if you want to fix the error or not. If you do not fix the error, the app may not function correctly. Also, depending on the key and value pair, you need to check if you can fix your provisioning profile. Occasionally, you might not be able to fix the provisioning profile and can release the app with the defect.
Note: You must have administrator rights to view the MDX Toolkit logs.

For more information about provisioning profiles, see the Apple Developer Web site.

To identify iOS app wrapping errors

If you encounter an error when wrapping an iOS application, you can use the MDX Toolkit logs to identify the error.

When you run the MDX Toolkit, the tool automatically saves a log file to the following location: Applications > Citrix > MDXToolkit > Logs > Citrix.log. By default, the tool saves warnings and errors in the log. If an error occurs, a command line with arguments appears at the end of the log. You can copy the command line and run it in Terminal.

When you use the command-line tool to run the wrapping process, you can specify the log file location, log display level, and log write level in the command line. You can also specify verbose logging level and a different log file in the command line. The command line provides more troubleshooting options than the MDX Toolkit.

Note: The command-line tool supports iOS apps only.

You can use the following steps to look for and resolve problems with wrapping iOS apps.

  1. In Applications > Citrix > MDXToolkit > Logs, click Citrix.log.
  2. In Applications > Utilities, click Terminal to use the Mac command-line interface to evaluate the command. You may need to refer to the app requirements to evaluate the error.