Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MDM] Create a simple MDM/AppConfig/specfile.xml #272

Merged
merged 7 commits into from
Feb 28, 2019
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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>