With the release of iOS 7, Apple introduced support for managing an app’s configuration using a Mobile Device Management system. This allows enterprises to deploy apps and then control their configuration centrally. You could provide URLs or enable and disable features with the push of a button.
An app that supports managed configuration just needs to read a particular key, com.apple.configuration.managed from NSUserDefaults. This yields an NSDictionary which contains all the settings pushed to the app via the MDM. For my work with Roomr, I choose to support managed configuration so that the Exchange URL could be set and modified with ease. The code changes are very simple.
Testing managed configuration is another kettle of fish. You can provide the configuration in one of two ways. Firstly, you can provide the configuration when the app is being installed or you can provide it after the app has been installed, effectively updating it.
To accomplish this, I used my own product, TestMDM. TestMDM aims to replicate many of the features of a MDM without replicating the large cost and complicated setup. It’s aim is to make it possible to test enterprise features without having to suffer the expense of purchasing an MDM. It also means you don’t need to trick an MDM provider into giving you a trial and then spending hours getting that setup.
To test my configuration, I used TestMDM to first install my app. Once I had successfully installed it, I then pushed configuration to it
I just click Queue and TestMDM takes care of the rest. I can debug my iPhone app at the same time and ensure the configuration is detected and loaded correctly.
If you’re interested, please check out TestMDM – I’m making improvements all the time so if a particular feature is missing, let me know and I’ll add it to the roadmap.
For developers who want their apps in large enterprises, supporting iOS7’s Enterprise features, such as single sign-on and managed configuration, is a no-brainer. Hopefully you’ll find TestMDM useful. If you have any questions, please get in touch!
Hi Tomas,
if I understand correctly, configuring an app by iOS7’s “Managed app configuration” should also work for MDM-controlled apps deployed via a redemption URL (for instance, the one that the B2B/VPP combination would provide), not necessarily for manually uploaded apps via IPA.
Do you have any plan of supporting URL install in your testMDM app?
Internally the app gets installed via a URL, so it wouldn’t take much. I can have that deployed tomorrow if it’s something you’re interested in having?
Hi Tom,
Can we pull the config settings from MDMServer in iOS instead of push down to iPhone, if yes is there a testmdm endpoint to connect to get the configuration
Hi Vinod, when you say “pull config settings from MDMServer”, I don’t know what you mean. Can you elaborate?
Hi Tom !
A question here : does Managed App Configuration also support the “I am the production/appstore, i want a hardcoded URL for security reasons” ? And still be able to get the dynamic configuration it provides for testing ( using a MDM )?
Regards
Yes, if I’m understanding your question correctly. You can deploy an app to the store that is preconfigured with the necessary settings. The MDM could then override those settings. This behaviour is down to your app, of course, reading the Configuration provided by the MDM and applying the overrides. Does that help?