Background:
Apple provides a \"kiosk mode\" for their iPads as part of iOS6 which locks the device into one application (even boots directly into the app too). Great for
Yes still working in iOS 9.1
and you can add options like this:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN""http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>App</key>
<dict>
<key>Identifier</key>
<string>bundle_identifier_of_the_app</string>
<key>Options</key>
<dict>
<key>DisableAutoLock</key>
<true/>
<key>DisableVolumeButtons</key>
<true/>
</dict>
</dict>
<key>PayloadType</key>
<string>###.#####.#####</string>
<key>PayloadIdentifier</key>
<string>com.klangerfinder.lockdown</string>
<key>PayloadUUID</key>
<string>######-######-#####-#####</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</array>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadDisplayName</key>
<string>AppLockDown</string>
<key>PayloadIdentifier</key>
<string>###.#####.#####</string>
<key>PayloadUUID</key>
<string>######-######-#####-#####</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>
There are lot of old post´s out there. This and the above are the actual working ones!!!
I figured it out! I'm either misreading it or Apple left out a little detail in their configuration profile reference . In order to avoid the error, the "Identifier"/bundleId key/value pair has to be wrapped in a dictionary, itself the value of a key named "App". See below:
<?xml version="1.0"?>
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>App</key>
<dict>
<key>Identifier</key>
<string>bundle_identifier_of_the_app</string>
</dict>
<key>PayloadType</key>
<string>com.apple.app.lock</string>
<key>PayloadIdentifier</key>
<string>#######-#######-#######-######</string>
<key>PayloadUUID</key>
<string>#######-#######-#######-######</string>
<key>PayloadVersion</key>
<integer>#</integer>
</dict>
</array>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadDisplayName</key>
<string>##########</string>
<key>PayloadIdentifier</key>
<string>######-#####-######-#####</string>
<key>PayloadUUID</key>
<string>######-######-#####-#####</string>
<key>PayloadVersion</key>
<integer>#</integer>
</dict>
</plist>