0

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?

Eric
  • 4,063
  • 2
  • 27
  • 49
  • Can you rephrase your question. As it stands right now, it's not clear what you are trying to achieve and it looks like a question about 3rd party tool vs software development question. – Victor Ronin Aug 16 '13 at 00:54
  • I'm looking for an iOS tutorial and/or guidance on handling MDM in the consumer app store. Some examples of apps that do this are TestFlight and Onavo. – Eric Aug 16 '13 at 13:16
  • Still not very clear. Do you mean app distribution? – Victor Ronin Aug 16 '13 at 14:23

1 Answers1

1

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.

Community
  • 1
  • 1
Victor Ronin
  • 22,758
  • 18
  • 92
  • 184