One of the most common requirements is the ability to install apps without requiring user intervention on the device itself. We wrote this guide to explain the reason prompts appear and how to avoid them, achieving silent app push and installation with SimpleMDM.
The two hurdles to silent app installations
When pushing an App Store app to a typical iOS device, there are two prompts that are typically displayed to the user before an app will install.
The first prompt requests permission to install the app on the device. This exists because Apple believes that a company should not be able to install an app on an employee-owned device without their permission. To avoid this problem you must indicate to Apple that the device you’re pushing the app to is actually owned and managed by a company.
If you aren’t already familiar with it, device supervision is the way to indicate this relationship to Apple. When a device is put into supervised mode, SimpleMDM is given additional controls and permission on the device, including the ability to install an app without requesting permission from the device user first.
The second prompt to appear is related to licensing and will ask the user to enter their Apple ID if they haven’t already. The best way around this is to purchase app licenses through the Apple Volume Purchase Program (VPP) and allow SimpleMDM to assign licenses to devices directly. When SimpleMDM handles license assignment, the device will not prompt for an Apple ID.
Other potential problems
In some cases, even with supervised devices and VPP app distribution, problems occur. Here are the common ones to look out for:
Some app licenses do not support device assignment: App licenses, by default, support device assignment. App developers retain the rights to disable this feature, however. On rare occasion, you may find that app licenses you have purchased do not support device-based assignment. When this occurs, iOS will prompt the user for an Apple ID.
iOS 9.3 or greater is required: Earlier versions of iOS do not support device-based app assignment.