MDM setup
Deploy Kioskope to a fleet
Buy licenses once in Apple Business, let your MDM install the app and push its settings, and every device opens straight to your web app. No Apple Account on the device, no hands on the setup wizard.
Microsoft Intune
Automated Device Enrollment, an Apps and Books license, one app configuration policy, optional lockdown.
Intune guide →Apple Business & Apple Configurator
Add devices, buy licenses, and link any MDM. Or supervise and lock down a few iPads by cable, no MDM at all.
Apple guide →How it fits together
- Apple Business (formerly Apple Business Manager) holds your devices and your Kioskope licenses.
- Your MDM enrolls each iPad through Automated Device Enrollment, supervised and without a user, then installs Kioskope with a device license.
- An app configuration policy pushes Kioskope's settings as a managed configuration. Managed keys override anything set on the device. Kioskope reads them at launch and watches for changes while it runs.
- Optionally, lock the iPad to Kioskope with Single App Mode or Autonomous Single App Mode.
Identifiers
| Bundle ID | com.kioskope.Kioskope |
| App Store ID | 6804490729 |
| Managed configuration | com.apple.configuration.managed (standard AppConfig) |
| Requires | iOS or iPadOS 17 or later on an A12 chip or newer: iPhone XS, iPad (8th gen), iPad Air (3rd gen), iPad mini (5th gen), iPad Pro (2018), and later. Older devices cannot scan and do not see the app in the App Store. |
Configuration keys
Every key is optional. An unset key falls back to whatever is set on the device, then to the default below. Keys are case-sensitive. Values pushed by MDM win: if someone edits a managed key in the app's settings, it snaps back.
MDMs that follow the AppConfig Community standard can build a settings form from the Kioskope AppConfig spec instead of typing keys. Intune uses its own designer and the XML below.
Kiosk
| Key | Type | Default | Effect |
|---|---|---|---|
startURL | string | — | Page to load. Bare hosts get https://; IPs, localhost, and .local names get http://. Once set, the setup wizard never appears. |
allowlist | array of string | [] (allow all) | Hosts the session may visit; *.example.com wildcards work. The start URL's host is always allowed. |
showChrome | boolean | true | Show the back, forward, reload, and settings bar. |
idleResetSeconds | integer | 0 (off) | Seconds of inactivity before returning to the start URL. |
clearSessionOnReset | boolean | false | Also clear cookies and site data on idle reset. |
preventSleep | boolean | true | Keep the screen awake. |
asam | boolean | false | Enter Autonomous Single App Mode. Needs a supervised device with Kioskope allowlisted in a restrictions profile; see Lock the device. |
trustSelfSigned | boolean | false | Accept self-signed TLS certificates, for allowlisted hosts only. |
Scanning
| Key | Type | Default | Effect |
|---|---|---|---|
symbologies | array of string | qr pdf417 code128 code39 ean13 upce | Symbologies to decode. Any of qr microqr pdf417 micropdf417 aztec datamatrix code128 code39 code93 ean13 ean8 upce itf14 codabar gs1databar. |
liveText | boolean | false | Tap-to-capture printed text. |
continuousScan | boolean | false | Keep the scanner open after each scan. |
debounceSeconds | real | 2.0 | Ignore repeats of the same code within this window. |
beep | boolean | true | Sound on each scan. |
haptic | boolean | true | Vibrate on each scan. |
torch | boolean | false | Torch on when the scanner opens. |
roi | boolean | false | Decode only in the center band of the viewfinder. |
Output
| Key | Type | Default | Effect |
|---|---|---|---|
scanPrefix | string | "" | Text added before each result. |
scanSuffix | string | "" | Text added after each result. |
terminator | string | none | Key sent after the result: none, tab, or enter. |
stripLeading | integer | 0 | Characters removed from the start of each result. |
stripTrailing | integer | 0 | Characters removed from the end of each result. |
urlTemplate | string | "" | Navigate here on each scan instead of typing; {code} is replaced. Example: https://x/lookup/{code}. |
Security
| Key | Type | Default | Effect |
|---|---|---|---|
adminPIN | string | "" (unlocked) | PIN for the settings screen behind the gear. |
Example configuration
A property-list dictionary, ready for Intune's Enter XML data field or any MDM that accepts a managed configuration dictionary.
<dict>
<key>startURL</key>
<string>https://inventory.example.com/scan</string>
<key>allowlist</key>
<array>
<string>*.example.com</string>
<string>sso.example.net</string>
</array>
<key>showChrome</key>
<false/>
<key>idleResetSeconds</key>
<integer>120</integer>
<key>clearSessionOnReset</key>
<true/>
<key>symbologies</key>
<array>
<string>pdf417</string>
<string>code128</string>
<string>qr</string>
</array>
<key>terminator</key>
<string>enter</string>
<key>adminPIN</key>
<string>2468</string>
</dict>Lock the device to Kioskope
Both options need a supervised device, which Automated Device Enrollment and Apple Configurator both provide.
Single App Mode
Your MDM (Intune calls it Kiosk) or Apple Configurator pins the device to Kioskope. It boots into the app and stays there until the MDM releases it. Nothing to set in Kioskope. Apps can't update while a device is pinned, so plan a window for updates.
Autonomous Single App Mode
Kioskope pins itself when asam is true and releases when it's false, so one key in the configuration policy locks or frees a device (restart the iPad if it doesn't release). The device needs a restrictions profile that lists com.kioskope.Kioskope under permitted apps for autonomous single app mode. For Apple Configurator, download that profile.
Good to know
- Device licenses. Assign Kioskope as Required to a device group with device licensing. No Apple Account on the iPad, silent install, updates through the MDM.
- Timing. The MDM delivers configuration at device check-in. Kioskope watches for changes while running; if one hasn't appeared after check-in, reopen the app.
- No MDM? Configure one device, export its settings as a QR code from the gear menu, and scan it on the next. The Apple guide covers this.
- Custom Apps. Kioskope is also distributed as a Custom App scoped to specific organizations. Everything here applies; only the bundle ID differs. Email support@kioskope.com.