Skip to content

Instantly share code, notes, and snippets.

@WireFrameRate
Last active January 5, 2024 15:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save WireFrameRate/eb8f8981ff344e6eb73b9c48515b976c to your computer and use it in GitHub Desktop.
Save WireFrameRate/eb8f8981ff344e6eb73b9c48515b976c to your computer and use it in GitHub Desktop.
Managed App Configuration Specfile
<?xml version="1.0" encoding="UTF-8"?>
<managedAppConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="/com.mobileiron.onetouch/appconfig/appconfig.xsd">
<version>3.10.0</version>
<bundleId>com.wireframerate.webframepro</bundleId>
<dict>
<!-- Homepage Options -->
<string keyName="com.wireframerate.webframepro.homepage_url">
<defaultValue>
<value>https://www.wireframerate.com/product-tour</value>
</defaultValue>
<constraint nullable="false"/>
</string>
<integer keyName="com.wireframerate.webframepro.app_session_option">
<defaultValue>
<value>0</value>
</defaultValue>
<constraint>
<values>
<value>0</value>
<value>1</value>
</values>
</constraint>
</integer>
<string keyName="com.wireframerate.webframepro.user_agent_id">
<defaultValue>
<value></value>
</defaultValue>
<constraint nullable="false"/>
</string>
<!-- Cookie and Caching Options -->
<boolean keyName="com.wireframerate.webframepro.clear_cache_enabled">
<defaultValue>
<value>1</value>
</defaultValue>
</boolean>
<boolean keyName="com.wireframerate.webframepro.clear_cache_on_launch_enabled">
<defaultValue>
<value>1</value>
</defaultValue>
</boolean>
<boolean keyName="com.wireframerate.webframepro.third_party_cookies_enabled">
<defaultValue>
<value>0</value>
</defaultValue>
</boolean>
<!-- Domain Limiting Options -->
<boolean keyName="com.wireframerate.webframepro.domain_limiting_enabled">
<defaultValue>
<value>1</value>
</defaultValue>
</boolean>
<string keyName="com.wireframerate.webframepro.domain_allowed_list">
<defaultValue>
<value>wireframerate.com,apple.com,jamf.com</value>
</defaultValue>
</string>
<!-- Content Blocking Options -->
<boolean keyName="com.wireframerate.webframepro.block_cookies_enabled">
<defaultValue>
<value>0</value>
</defaultValue>
</boolean>
<boolean keyName="com.wireframerate.webframepro.block_content_enabled">
<defaultValue>
<value>0</value>
</defaultValue>
</boolean>
<boolean keyName="com.wireframerate.webframepro.block_custom_enabled">
<defaultValue>
<value>0</value>
</defaultValue>
</boolean>
<!-- Idle Timeout Options -->
<boolean keyName="com.wireframerate.webframepro.auto_lock_disabled">
<defaultValue>
<value>0</value>
</defaultValue>
</boolean>
<string keyName="com.wireframerate.webframepro.idle_timeout_value">
<defaultValue>
<value>5</value>
</defaultValue>
<constraint pattern="[0-9]{1,4}"/>
</string>
<string keyName="com.wireframerate.webframepro.dim_screen_timeout">
<defaultValue>
<value>0</value>
</defaultValue>
<constraint pattern="[0-9]{1,4}"/>
</string>
<string keyName="com.wireframerate.webframepro.screen_saver_timeout">
<defaultValue>
<value>0</value>
</defaultValue>
<constraint pattern="[0-9]{1,4}"/>
</string>
<!-- Screen Brightness Options -->
<boolean keyName="com.wireframerate.webframepro.system_brightness_enabled">
<defaultValue>
<value>1</value>
</defaultValue>
</boolean>
<integer keyName="com.wireframerate.webframepro.screen_brightness_level">
<defaultValue>
<value>80</value>
</defaultValue>
<constraint min="0" max="100" pattern="[0-9]"/>
</integer>
<!-- Print Options -->
<integer keyName="com.wireframerate.webframepro.print_option">
<defaultValue>
<value>1</value>
</defaultValue>
<constraint>
<values>
<value>0</value>
<value>1</value>
<value>2</value>
</values>
</constraint>
</integer>
<string keyName="com.wireframerate.webframepro.print_default_url">
<defaultValue>
<value></value>
</defaultValue>
</string>
<!-- User Interface Options -->
<boolean keyName="com.wireframerate.webframepro.user_interaction_enabled">
<defaultValue>
<value>1</value>
</defaultValue>
</boolean>
<boolean keyName="com.wireframerate.webframepro.scroll_pan_enabled">
<defaultValue>
<value>1</value>
</defaultValue>
</boolean>
<boolean keyName="com.wireframerate.webframepro.zoom_enabled">
<defaultValue>
<value>1</value>
</defaultValue>
</boolean>
<boolean keyName="com.wireframerate.webframepro.drag_drop_enabled">
<defaultValue>
<value>0</value>
</defaultValue>
</boolean>
<boolean keyName="com.wireframerate.webframepro.javascript_popups_enabled">
<defaultValue>
<value>1</value>
</defaultValue>
</boolean>
<integer keyName="com.wireframerate.webframepro.full_screen_option">
<defaultValue>
<value>0</value>
</defaultValue>
<constraint>
<values>
<value>0</value>
<value>1</value>
<value>2</value>
<value>3</value>
</values>
</constraint>
</integer>
<string keyName="com.wireframerate.webframepro.safe_area_color">
<defaultValue>
<value>#000000</value>
</defaultValue>
<constraint pattern="/[0-9A-Fa-f]{6}/g"/>
</string>
<integer keyName="com.wireframerate.webframepro.activity_indicator_option">
<defaultValue>
<value>0</value>
</defaultValue>
<constraint>
<values>
<value>0</value>
<value>1</value>
<value>3</value>
</values>
</constraint>
</integer>
<!-- Navigation Options -->
<integer keyName="com.wireframerate.webframepro.pull_to_refresh_action">
<defaultValue>
<value>0</value>
</defaultValue>
<constraint>
<values>
<value>0</value>
<value>1</value>
<value>2</value>
</values>
</constraint>
</integer>
<boolean keyName="com.wireframerate.webframepro.swipe_navigation_enabled">
<defaultValue>
<value>1</value>
</defaultValue>
</boolean>
<boolean keyName="com.wireframerate.webframepro.navigation_buttons_enabled">
<defaultValue>
<value>0</value>
</defaultValue>
</boolean>
<boolean keyName="com.wireframerate.webframepro.home_button_enabled">
<defaultValue>
<value>0</value>
</defaultValue>
</boolean>
<boolean keyName="com.wireframerate.webframepro.navigation_buttons_autohide">
<defaultValue>
<value>1</value>
</defaultValue>
</boolean>
<boolean keyName="com.wireframerate.webframepro.navigation_buttons_minimize">
<defaultValue>
<value>1ß</value>
</defaultValue>
</boolean>
<boolean keyName="com.wireframerate.webframepro.app_urls_enabled">
<defaultValue>
<value>0</value>
</defaultValue>
</boolean>
<!-- Management Options -->
<integer keyName="com.wireframerate.webframepro.app_launch_mode">
<defaultValue>
<value>0</value>
</defaultValue>
<constraint>
<values>
<value>0</value>
<value>1</value>
<value>2</value>
</values>
</constraint>
</integer>
<boolean keyName="com.wireframerate.webframepro.settings_gesture_enabled">
<defaultValue>
<value>1</value>
</defaultValue>
</boolean>
<boolean keyName="com.wireframerate.webframepro.settings_javascript_enabled">
<defaultValue>
<value>1</value>
</defaultValue>
</boolean>
<string keyName="com.wireframerate.webframepro.passcode">
<defaultValue>
<value></value>
</defaultValue>
</string>
</dict>
<presentation defaultLocale="en-US">
<!-- Homepage Options -->
<fieldGroup>
<name>
<language value="en-US">Homepage Options</language>
</name>
<field keyName="com.wireframerate.webframepro.homepage_url" type="input">
<label>
<language value="en-US">Homepage URL</language>
</label>
<description>
<language value="en-US">Homepage URL for WebFrame Pro Kiosk. Please ensure to include https:// (preferred), http://, or file:// (if using local content). For example: https://www.wireframerate.com/product-tour</language>
</description>
</field>
<field keyName="com.wireframerate.webframepro.app_session_option" type="select">
<label>
<language value="en-US">App Launch Behaviour</language>
</label>
<options>
<option value="0">
<language value="en-US">Start New Session</language>
</option>
<option value="1">
<language value="en-US">Resume Last Session</language>
</option>
</options>
</field>
</fieldGroup>
<!-- Cookie and Caching Options -->
<fieldGroup>
<name>
<language value="en-US">Cookie and Caching Options</language>
</name>
<field keyName="com.wireframerate.webframepro.clear_cache_enabled" type="checkbox">
<label>
<language value="en-US">Clear Cache on Reload</language>
</label>
</field>
<field keyName="com.wireframerate.webframepro.clear_cache_on_launch_enabled" type="checkbox">
<label>
<language value="en-US">Clear Cache on Launch</language>
</label>
</field>
<field keyName="com.wireframerate.webframepro.third_party_cookies_enabled" type="checkbox">
<label>
<language value="en-US">Allow Third-Party Cookies (Enabling or disabling requires app restart)</language>
</label>
</field>
</fieldGroup>
<fieldGroup>
<name>
<language value="en-US">Domain Limiting Options</language>
</name>
<field keyName="com.wireframerate.webframepro.domain_limiting_enabled" type="checkbox">
<label>
<language value="en-US">Domain Limiting</language>
</label>
</field>
<field keyName="com.wireframerate.webframepro.domain_allowed_list" type="input">
<label>
<language value="en-US">Allowed Domains</language>
</label>
<description>
<language value="en-US">Enter domains as a comma-separated list of domains and extensions. For example: domain1.com,domain2.com,domain3.co.uk</language>
</description>
</field>
</fieldGroup>
<fieldGroup>
<name>
<language value="en-US">Content Blocking Options</language>
</name>
<field keyName="com.wireframerate.webframepro.block_cookies_enabled" type="checkbox">
<label>
<language value="en-US">Block Tracking Cookies</language>
</label>
</field>
<field keyName="com.wireframerate.webframepro.block_content_enabled" type="checkbox">
<label>
<language value="en-US">Block Tracking Content and Scripts</language>
</label>
</field>
<field keyName="com.wireframerate.webframepro.block_custom_enabled" type="checkbox">
<label>
<language value="en-US">Block Custom Content</language>
</label>
</field>
</fieldGroup>
<fieldGroup>
<name>
<language value="en-US">Inactivity Timeout Options</language>
</name>
<field keyName="com.wireframerate.webframepro.auto_lock_disabled" type="checkbox">
<label>
<language value="en-US">Disable System Auto-Lock</language>
</label>
</field>
<field keyName="com.wireframerate.webframepro.idle_timeout_value" type="input">
<label>
<language value="en-US">Reload Homepage</language>
</label>
<description>
<language value="en-US">Enter the delay (in minutes) for the system to remain idle before reloading the homepage. Enter 0 to disable.</language>
</description>
</field>
<field keyName="com.wireframerate.webframepro.dim_screen_timeout" type="input">
<label>
<language value="en-US">Dim Screen</language>
</label>
<description>
<language value="en-US">Enter the delay (in minutes) for the system to remain idle before dimming the screen. Enter 0 to disable.</language>
</description>
</field>
<field keyName="com.wireframerate.webframepro.screen_saver_timeout" type="input">
<label>
<language value="en-US">Screen Saver</language>
</label>
<description>
<language value="en-US">Enter the delay (in minutes) for the system to remain idle before dimming the screen. Enter 0 to disable.</language>
</description>
</field>
</fieldGroup>
<fieldGroup>
<name>
<language value="en-US">Screen Brightness Options</language>
</name>
<field keyName="com.wireframerate.webframepro.system_brightness_enabled" type="checkbox">
<label>
<language value="en-US">Use System Brightness</language>
</label>
</field>
<field keyName="com.wireframerate.webframepro.screen_brightness_level" type="input">
<label>
<language value="en-US">Screen Brightness</language>
</label>
</field>
</fieldGroup>
<fieldGroup>
<name>
<language value="en-US">Print Options</language>
</name>
<field keyName="com.wireframerate.webframepro.print_option" type="select">
<label>
<language value="en-US">Printing</language>
</label>
<options>
<option value="0">
<language value="en-US">Disabled</language>
</option>
<option value="1">
<language value="en-US">Print with Preview</language>
</option>
<option value="2">
<language value="en-US">Print to Default Printer</language>
</option>
</options>
</field>
<field keyName="com.wireframerate.webframepro.print_default_url" type="input">
<label>
<language value="en-US">Default Printer URL</language>
</label>
</field>
</fieldGroup>
<fieldGroup>
<name>
<language value="en-US">User Interface Options</language>
</name>
<field keyName="com.wireframerate.webframepro.user_interaction_enabled" type="checkbox">
<label>
<language value="en-US">User Interaction</language>
</label>
</field>
<field keyName="com.wireframerate.webframepro.scroll_pan_enabled" type="checkbox">
<label>
<language value="en-US">Scroll and Pan Gestures</language>
</label>
</field>
<field keyName="com.wireframerate.webframepro.zoom_enabled" type="checkbox">
<label>
<language value="en-US">Zoom Gestures</language>
</label>
</field>
<field keyName="com.wireframerate.webframepro.drag_drop_enabled" type="checkbox">
<label>
<language value="en-US">Drag and Drop</language>
</label>
</field>
<field keyName="com.wireframerate.webframepro.javascript_popups_enabled" type="checkbox">
<label>
<language value="en-US">JavaScript Popup Boxes</language>
</label>
</field>
<field keyName="com.wireframerate.webframepro.print_enabled" type="checkbox">
<label>
<language value="en-US">Printing from Web Page</language>
</label>
</field>
<field keyName="com.wireframerate.webframepro.full_screen_option" type="select">
<label>
<language value="en-US">Full Screen Option</language>
</label>
<options>
<option value="0">
<language value="en-US">Safe Area</language>
</option>
<option value="1">
<language value="en-US">Full Screen</language>
</option>
<option value="2">
<language value="en-US">Full Screen (Modify Page Viewport)</language>
</option>
<option value="3">
<language value="en-US">Disabled (Show Status Bar)</language>
</option>
</options>
</field>
<field keyName="com.wireframerate.webframepro.safe_area_color" type="input">
<label>
<language value="en-US">Safe Area Color</language>
</label>
</field>
<field keyName="com.wireframerate.webframepro.activity_indicator_option" type="select">
<label>
<language value="en-US">Activity Indicator</language>
</label>
<options>
<option value="0">
<language value="en-US">Progress Bar</language>
</option>
<option value="1">
<language value="en-US">Spinner</language>
</option>
<option value="2">
<language value="en-US">None</language>
</option>
</options>
</field>
</fieldGroup>
<fieldGroup>
<name>
<language value="en-US">Navigation Options</language>
</name>
<field keyName="com.wireframerate.webframepro.pull_to_refresh_action" type="select">
<label>
<language value="en-US">Pull-To-Refresh</language>
</label>
<options>
<option value="0">
<language value="en-US">Off</language>
</option>
<option value="1">
<language value="en-US">Refresh Current Page</language>
</option>
<option value="2">
<language value="en-US">Reload Homepage</language>
</option>
</options>
</field>
<field keyName="com.wireframerate.webframepro.swipe_navigation_enabled" type="checkbox">
<label>
<language value="en-US">Swipe Navigation Gestures</language>
</label>
</field>
<field keyName="com.wireframerate.webframepro.navigation_buttons_enabled" type="checkbox">
<label>
<language value="en-US">Navigation Buttons</language>
</label>
</field>
<field keyName="com.wireframerate.webframepro.home_button_enabled" type="checkbox">
<label>
<language value="en-US">Home Button</language>
</label>
</field>
<field keyName="com.wireframerate.webframepro.navigation_buttons_autohide" type="checkbox">
<label>
<language value="en-US">Hide Inactive Buttons</language>
</label>
</field>
<field keyName="com.wireframerate.webframepro.navigation_buttons_minimize" type="checkbox">
<label>
<language value="en-US">Minimize Buttons on Scroll</language>
</label>
</field>
<field keyName="com.wireframerate.webframepro.app_urls_enabled" type="checkbox">
<label>
<language value="en-US">App-Specific URL Schemes</language>
</label>
</field>
</fieldGroup>
<fieldGroup>
<name>
<language value="en-US">Management Options</language>
</name>
<field keyName="com.wireframerate.webframepro.app_launch_mode" type="select">
<label>
<language value="en-US">App Launch Mode</language>
</label>
<options>
<option value="0">
<language value="en-US">Kiosk Mode</language>
</option>
<option value="1">
<language value="en-US">Management Mode</language>
</option>
<option value="2">
<language value="en-US">Autonomous Single App Mode</language>
</option>
</options>
</field>
<field keyName="com.wireframerate.webframepro.settings_gesture_enabled" type="checkbox">
<label>
<language value="en-US">Open Settings with Gesture</language>
</label>
</field>
<field keyName="com.wireframerate.webframepro.settings_javascript_enabled" type="checkbox">
<label>
<language value="en-US">Open Settings with JavaScript</language>
</label>
</field>
<field keyName="com.wireframerate.webframepro.passcode" type="input">
<label>
<language value="en-US">Passcode</language>
</label>
<description>
<language value="en-US">Passcode for in-app settings</language>
</description>
</field>
</fieldGroup>
</presentation>
</managedAppConfiguration>
@cfsnate
Copy link

cfsnate commented Oct 29, 2022

There are syntax issues with this specfile -- here's a corrected copy

https://gist.github.com/cfsnate/07f091b60513c6cdf237fc0656aeaaa9

@WireFrameRate
Copy link
Author

Thanks for the note! Updated and validated the updates with the JAMF AppConfig Generator.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment