Skip to content

Commit

Permalink
[MDM] Create a simple MDM/AppConfig/specfile.xml (#272)
Browse files Browse the repository at this point in the history
* Added minimal app-config specfile.xml

App-Config contains only following options:
- single-account: false/true
- fixed server URL

* Added short read me file

* Fixed review findings

* Fixed some typos
  • Loading branch information
mneuwert authored and michaelstingl committed Feb 28, 2019
1 parent 4f59edf commit ece7f1c
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 0 deletions.
21 changes: 21 additions & 0 deletions MDM/AppConfig/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
## AppConfig how to

### Managed App Config
Starting with iOS7, Apple has added support for managed application configuration. MDM server can push configuration to the app. The app can access the configuration using NSUserDefaults class. The configuration is basically a key-value dictionary provided as .plist file.

### AppConfig XML Schema
The XML format developed by AppConfig community, makes it easy for developers to define and deploy an app configuration. It is not only defining the configuration variables with default values but also provides a configuration UI description which can be interpreted by the tool which generates a plist file. Moreover, specfile XML is consistently supported by major EMM vendors.

### Example: Deployment with MobileIron
1. Open AppConfig Generator: https://appconfig.jamfresearch.com
2. Upload a specfile.xml
3. Change configuration options
4. Download generated plist file (ManagedAppConfig)
5. Open MobileIron Core
6. Navigate to "Policies and Configs" -> "Add New" -> "Apple" -> "iOS/tvOS" -> "Managed App Config"
7. Upload generated plist and specify name, bundle ID and description

### References
- <https://www.appconfig.org>
- <https://developer.apple.com/business/documentation/MDM-Protocol-Reference.pdf>

36 changes: 36 additions & 0 deletions MDM/AppConfig/minimal-specfile.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<managedAppConfiguration>
<version>1</version>
<bundleId>com.owncloud.ios-app</bundleId>
<dict>
<string keyName="bookmark.default-url">
<defaultValue>
<value>ios.owncloud-demo.com</value>
</defaultValue>
</string>
<boolean keyName="bookmark.url-editable">
</boolean>
</dict>
<presentation defaultLocale="en-US">
<fieldGroup>
<name>
<language value="en-US">Bookmark Setttings</language>
</name>
<field keyName="bookmark.default-url" type="input">
<label>
<language value="en-US">Default Server URL</language>
</label>
<description>
<language value="en-US">Allows to define default server URL</language>
</description>
</field>
<field keyName="bookmark.url-editable" type="checkbox">
<label>
<language value="en-US">Server URL changeable</language>
</label>
<description>
<language value="en-US">Enables or disables changing server URL</language>
</description>
</field>
</fieldGroup>
</presentation>
</managedAppConfiguration>

0 comments on commit ece7f1c

Please sign in to comment.