Configuration Overview
SupportID is fully configured through Managed App Configuration — the standard mechanism iOS uses to deliver settings to managed apps via MDM. No code changes or app updates are required to customize behavior.
How It Works
Section titled “How It Works”Your MDM solution delivers a configuration dictionary to the app via the com.apple.configuration.managed key in UserDefaults. SupportID reads this dictionary at launch and whenever it changes, updating the UI in real-time.
MDM Server → Configuration Profile → Device → UserDefaults → SupportIDConfiguration Sources
Section titled “Configuration Sources”SupportID accepts a configuration from two sources, in this order:
| Order | Source | Used when |
|---|---|---|
| 1 | MDM — com.apple.configuration.managed |
Always wins when present |
| 2 | Manual setup — entered on the device | No MDM configuration exists |
Both sources use the same keys, so everything on this page applies either way. Settings shows which source is active, and the app’s hero card badges it Managed or On Device. See Manual Setup — it’s for evaluation on unmanaged devices, not for fleet deployment.
Configuration Categories
Section titled “Configuration Categories”SupportID’s configuration is organized into these categories:
General Settings
Section titled “General Settings”| Key | Type | Default | Description |
|---|---|---|---|
appTitle |
String | "SupportID" |
The title displayed in the app header |
Example
Section titled “Example”<key>appTitle</key><string>Your Details</string>Section Visibility
Section titled “Section Visibility”Control which sections appear in the app:
| Key | Type | Default | Description |
|---|---|---|---|
showStorageSection |
Boolean | true |
Show or hide the Storage section |
showShortcutsSection |
Boolean | true |
Show or hide the Shortcuts section |
Example: Minimal Configuration
Section titled “Example: Minimal Configuration”Show only data points — no storage bar or shortcut buttons:
<key>showStorageSection</key><false/>
<key>showShortcutsSection</key><false/>Settings Links
Section titled “Settings Links”Add Contact Support, Privacy Policy, and Terms of Service links to the app’s Settings screen:
| Key | Type | Default | Description |
|---|---|---|---|
contactSupportURL |
String | (none) | URL for the Contact Support link |
privacyPolicyURL |
String | (none) | URL for the Privacy Policy link |
termsAndConditionsURL |
String | (none) | URL for the Terms of Service link |
Unlike the section visibility toggles above, these are controlled by presence: there are no defaults, and a link only appears when its key contains a valid URL. See Settings Links for the validation rules and hide-when-absent behavior.
Minimal vs. Full Configuration
Section titled “Minimal vs. Full Configuration”You only need to include keys you want to change from defaults. Here’s the difference:
Minimal (3 keys)
Section titled “Minimal (3 keys)”<dict> <key>appTitle</key> <string>Device Info</string>
<key>dataPoint1</key> <string>$SERIALNUMBER</string>
<key>selfServiceProvider</key> <string>jamf</string></dict>Full (all keys)
Section titled “Full (all keys)”See the Configuration Keys Reference for a complete example with every available key.