iOS Enterprise managed app configuration

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, 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!

6 thoughts on “iOS Enterprise managed app configuration

  1. 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?

  2. 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

  3. 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 )?

    1. 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?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.