Managed App Config settings that use plists

An additional license is required for this feature.

Select Policies & Configs > Configurations > Add New > Apple > iOS / tvOS > Managed App Config to provide app configuration to a managed app. In this setting, you provide a property list (plist) file as specified by the app vendor or developer.

When a managed app gets its configuration from Core, the device user does not have to manually enter the configuration. This feature results in easier app deployment and fewer support calls for you, and a better user experience for the device user.

Note the following:

  • This setting does not apply to tvOS devices.
  • The AppConfig Community (AppConfig.org) describes another mechanism for managed app configuration. Using the AppConfig Community mechanism on Core is described in in “Managed App Configuration settings in the app in the App Catalog” in the Core Apps@Work Guide.
  • By default, t he managed app configuration settings in the app in the App Catalog (AppConfig Community mechanism) override the Managed App Config setting that uses a plist. However, you can specify that the Managed App Config setting has precedence, as described in “Precedence of the iOS managed app configuration in the App Catalog versus the Managed App Config setting” in theCore Apps@Work Guide.

Managed App Config with plist overview

Providing a managed app with an app configuration involves these high-level steps:

  1. You get a plist file containing the app configuration from the app vendor or developer. The plist is a text file in XML format.
  2. Edit the file as directed by the app’s managed app configuration documentation. For example, documentation can instruct you to replace a default server value in the plist with a URL for one of your enterprise servers.
  3. You create a Managed App configuration setting on Core.
  4. When you create the setting, you upload the plist file to Core.
  5. You apply labels to the setting to indicate which devices the setting applies to.
  6. Core sends the setting to the device when the device checks in.
  7. The managed app installed on the device accesses the configuration using iOS programming interfaces.

You can apply a M anaged A pp C onfig setting to a device before the app is installed on the device. When the app is installed, it accesses the configuration. Until then, the configuration has no impact on the device.

Configuring the Managed App Config setting

Before you begin 

Edit the provided plist with values specific to your enterprise, as directed by the app documentation. You can use any text editor or plist editor. Put the edited plist file into a folder accessible from your Admin Portal.

Procedure 

  1. In the Admin Portal, go to Policies & Configs > Configurations.
  2. Click Add New > Apple > iOS / tvOS > Managed App Config. The New Managed App Config Setting dialog box opens.
  3. Use the following guidelines to create or edit a Managed App Config setting:

    Item

    Description

    Name

    Enter brief text that identifies this Managed App Config setting.

    Description

    Enter additional text that clarifies the purpose of this Managed App Config setting.

    BundleId

    Enter the bundle ID of the managed app.

    File

    Click Choose File.

    Select the plist file that contains the app configuration for the app.

    Core does not validate the plist file’s type or contents.

  4. Click Save.
  5. Select the Managed App Config setting you just created.

    Core assigns the setting the type MDM APP CONFIG.

  6. Select Actions > Apply To Label.
  7. Select the labels you want to apply this Managed App Config setting to. For Shared iPad devices, select either Allow only Temporary Session or Set Timeout for User Session - Seconds.
  8. Click Apply.

Note the following:

  • You cannot edit the Managed App Config setting, including uploading a different plist file. If changes are necessary, delete the Managed App Config setting and create a new one. Be sure to re-apply labels.
  • You can apply only one Managed App Config setting for each app to each device, including when more than one version of the app is installed on a device.
  • The configuration information is not encrypted on the device. The configuration should therefore not contain any sensitive information, such as passwords or private keys.

Viewing the plist file

Procedure 

  1. On the Admin Portal, go to Policies & Configs > Configurations.
  2. Select a Managed App Config setting.
  3. Select View File Data in App Settings Detail pane.

    A pop-up displays the file contents.

  4. Close the pop-up when you are done viewing the file contents.

Removing a Managed App Config setting from a device

A Managed App Config setting is removed from a device when:

  • You remove the label associated with the device from the setting, and the device checks in.
  • You remove the Managed App Config setting, and the device checks in.
  • You retire the device.

When the Managed App Config setting is removed, the managed app automatically removes its use of the configuration.

Supported variables

The plist can use the Core variables described in the following table:

Table 1. Core variables for plist files

Variable

Description

$DEVICE_MAC$

The Wi-Fi MAC (Media Access Control) address of the device.

$DEVICE_UDID$

The unique device identifier of the device.

$DISPLAY_NAME$

The display name of the device user.

$EMAIL$

The email address of the device user.

$MANAGED_APPLE_ID$ needs to be used for Shared iPad devices and User Enrolled devices only.

$FIRST_NAME$

The first name of the device user.

$LAST_NAME$

The last name of the device user.

$USERID$

The user ID of the device user.

$MANAGED_APPLE_ID$ needs to be used for Shared iPad devices and User Enrolled devices only.

When Core sends the configuration to a device, it substitutes the appropriate values for the variables.

Sample plist

A plist is a text file in XML format. The XML content vary for each app, and the contents have been validated by the app developer. The following is a sample plist, included here only to illustrate the format you can expect:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"

"http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>Server</key>

<string>http://www.somecompanyserver.com</string>

<key>Some Dict</key>

<dict>

<key>A</key>

<string>$DISPLAY_NAME$</string>

<key>C</key>

<string>$DEVICE_UDID$</string>

</dict>

<key>Some Array</key>

<array>

<string>abc</string>

<string>val</string>

<string>$DEVICE_MAC$</string>

</array>

</dict>

</plist>