Question

How does Onavo & Testflight use MDM for consumer facing apps? Is there a tutorial anywhere for the general public app store? I can only find information for Business applications.

Thanks

EDIT: Asked a different way: How can you request an MDM profile for an iTunes App Store Consumer facing app build? I need to change device permissions from a voluntarily downloaded MDM profile. Hypothetical example: Angry Birds wants to install a profile that blocks texts while playing their game. How would this work?

Was it helpful?

Solution

There are several ways to distribute apps:

  • OTA install
  • MDM installation
  • iTunes

Take a look at this question regarding TestFlight How does TestFlight do it?

Update 1

Here is super-super high level overview of MDM. MDM is the protocol which allows a server to manage all devices which are enrolled to this server.

A user triggers enrollment of device to a server, device and server do complex handshake and later on a server can send different commands to device (install profile, remove profile, install app, remove app, give me the list of apps and info about a device).

Now, getting back to your question "Angry Birds wants to install a profile that blocks texts while playing their game. How would this work?". Generally speaking, up to iOS 7 (which is still under NDA) MDM didn't have any way to communicate with apps. So, if Angry birds wanted to do something, it has to implement it's own communicate (it can't piggyback MDM).

So, what will Angry Birds do

  • It will do some https:// call to AngryBirdsMDMServer.com (and a device should be enrolled to this server)
  • The server will get this call and will understand that AngryBirds want to block text messages
  • The server will send a push notification to a device
  • A device will receive push notification and will go and check whether the server has some new command (and apparently the server has new command to disable text messages)
  • A device will execute this command.

So, as result, you see that communication between AngryBirds app and the server is completely custom (there is nothing in MDM documentation which defines it). However, as soon as the server knows what to do, the rest of communications go through MDM protocol.

There is one big problem in this approach though. How uniquely identify device, because Angry Birds app somehow need to explain to the server to which device this new command needs to be send.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top