Search code examples
iosiphonetestflightmdmhockeyapp

Testing MDM with services like TestFlight and Hockeyapp (iOS)


I have an application which uses MDM and gets installed via a typical set of steps: get the portal app, run it and enroll the device, then install apps via MDM. As part of this, the MDM config data is put into NSUserDefaults which tells the app it is MDM managed.

My question is how this works with services like TestFlight and HockeyApp. I think those do normal non-MDM downloads, so how does the MDM config data get into NSUserDefaults?

From what I understand there is a MDM profile for each relevant app, but I am not sure how/when that gets to the device. Am I supposed to install my portal app, enroll, and then download via TestFlight or HockeyApp, and things should work as normal?


Solution

  • For the installation through an ad-hoc or enterprise distribution services like HockeyApp or TestFlight, there is no MDM profile.

    When the app gets installed, iOS itself only checks the Provisioning Profile and the certificate that are attached to the app bundle to see if the code-signing is valid and in the case of ad-hoc distribution, if the current device's UDID is included in the Provisioning Profile.

    To make sure the MDM config gets included and can be read and write by the MDM server, you have to use the MDM solution itself to distribute the app.