In-House Apps

In-house apps are enterprise apps developed through Apple’s iOS Developer Enterprise Program. The Jamf Software Server (JSS) allows you to distribute in-house apps to users, iOS devices, and Apple TV devices with tvOS 10.2 or later. After an app has been distributed, you can also use the JSS to distribute an update or remove the app from mobile devices.

For more information on Apple’s iOS Developer Enterprise Program or to register, visit the following website:
https://developer.apple.com/programs/ios/enterprise/

Before you distribute an in-house app, it is important to consider where the app will be hosted. There are three hosting locations you can use for in-house apps:

  • Distribution points—If your master distribution point is a JDS instance or the cloud distribution point, you can use the JSS to upload the app to the master distribution point.
    Note: Apps cannot be replicated to file share distribution points.

  • jamfsoftware database—If your master distribution point is a file share distribution point, you can use the JSS to upload the app and host it in the jamfsoftware database.

  • Web server—To use this location, the app must be hosted on a web server before you distribute it. Then, when you distribute the app, you specify the URL where it is hosted.
    If your master distribution point is a file share distribution point, it is recommended that you host large apps on a web server.

When you distribute an in-house app, you configure settings for the app, such as the hosting location, distribution method, and whether to make the app managed. (For more information, see Understanding App Distribution Methods and Understanding Managed Apps.) Then, you specify the users and mobile devices that should receive it (called “scope”).

Managed in-house apps that have been distributed to mobile devices can be validated using the app validation settings. (For more information, see In-House App Validation Settings.)

Note: To specify managed in-house apps to distribute to or remove from personally owned iOS devices, you must use the Apps payload of the personal device profile that is used to perform management tasks on the devices. For more information, see Personal Device Profiles.

Managed App Configuration

You can configure preferences and settings in the JSS for a managed app before distributing it to mobile devices.

There are also several variables that you can use to populate settings in a managed app with attribute values stored in the JSS. This allows you to create preferences containing information about each user and mobile device to which you are distributing the app.

When the app is installed on a mobile device, the variable is replaced with the value of the corresponding attribute in the JSS.

Variable

Mobile Device Information

$DEVICENAME

Mobile Device Name

$SERIALNUMBER

Serial Number

$UDID

UDID

$USERNAME

Username

$FULLNAME or $REALNAME

Full Name

$EMAIL

Email Address

$PHONE

Phone Number

$ROOM

Room

$POSITION

Position

$MACADDRESS

MAC Address

$JSSID

JSS ID

$APPJSSID

JSS ID of the App

$SITEID

Site ID

$SITENAME

Site Name

$BUILDINGNAME

Building Name

$BUILDINGID

Building ID

$DEPARTMENTID

Department ID

$DEPARTMENTNAME

Department Name

Requirements

To distribute an in-house app, you need:

  • The bundle identifier for the app (located in the PLIST file for the app)

  • The archived app file (.ipa) or the URL where the app is hosted on a web server
    Note: If you are hosting the app from a web server, the MIME type for the archived app file must be
    "/application/octet-stream".

  • The provisioning profile (.mobileprovision) uploaded to the JSS or bundled in the archived app file (For more information, see Provisioning Profiles.)

Managed App Configuration only applies to mobile devices with iOS 7 or later, or Apple TV devices with tvOS 10.2 or later.

Per-App VPN connections are only applied to mobile devices with iOS 7 or later.

Distributing an In-House App

  1. Log in to the JSS with a web browser.

  2. Click Mobile Devices at the top of the page.

  3. Click Apps.

  4. Click New images/download/thumbnails/14453095/New_icon.png .

  5. Select In-house app and click Next.

  6. Use the General pane to configure settings for the app, including the distribution method and hosting location.
    If you choose "Distribution Points" or "jamfsoftware database" from the Hosting Location pop-up menu, be sure to upload the archived app file.

  7. Click the Scope tab and configure the scope of the app.
    For more information, see Scope.

  8. (Optional, iOS only) Click the Self Service tab and configure the way the app is displayed in Self Service. You can customize the text displayed in the description for the app in Self Service by using Markdown in the Description field.
    For information about Markdown, see the following Knowledge Base article:
    Using Markdown to Format Text
    Note: The Self Service tab is only displayed if "Make Available in Self Service" is chosen in the Distribution Method pop-up menu.

  9. (Optional) Click the App Configuration tab and configure the preferences as needed.
    Note: The App Configuration tab is only displayed if the Manage app when possible checkbox is selected.

  10. Click Save.

The app is distributed the next time mobile devices in the scope contact the JSS. If users were added as targets to the scope, the app is distributed to the devices those users are assigned to the next time the devices contact the JSS.

Distributing an In-House App Update

  1. Log in to the JSS with a web browser.

  2. Click Mobile Devices at the top of the page.

  3. Click Apps.

  4. Click the app you want to update.

  5. Do one of the following:

    • To distribute an update for an in-house app that is hosted on a web server, upload the new archived app file to the web server and update app URL.

    • To distribute an update for an in-house app that is hosted on distribution points or in the jamfsoftware database, upload the new archived app file using the JSS.

  6. Enter the new version number for the app.
    Important: Do not change the bundle identifier. The JSS uses the existing bundle identifier to distribute the update.

  7. Click Save.

The update is distributed the next time mobile devices in the scope contact the JSS.

Removing an In-House App from Mobile Devices

To remove an in-house app from one or more devices, you remove the user(s) or mobile device(s) from the scope.

  1. Log in to the JSS with a web browser.

  2. Click Mobile Devices at the top of the page.

  3. Click Apps.

  4. Click the app you want to remove.

  5. Click the Scope tab and remove users or mobile devices from the scope as needed.
    For more information, see Scope.

  6. Click Save.

The app is removed the next time the mobile devices contact the JSS.

Related Information

For related information, see the following sections in this guide:

For related information, see the following Knowledge Base article:

Hosting In-House eBooks and Apps on a Tomcat Instance
Find out how to host in-house apps on the Tomcat instance that hosts the JSS.

Copyright | Privacy | Terms of Use | Security
© copyright 2002-2017 Jamf. All rights reserved.