LogoLogo
What's NewDeveloper CommunitySupportStatus
  • 🚀Get Started
    • What is JourneyApps Platform?
    • Tutorial: Build your First App
      • 1. Introduction
      • 2. Create a new App
      • 3. OXIDE IDE Overview
      • 4. Hello World app
      • 5. The Data Model
      • 6. View Components
      • 7. Queries and Data Sync
      • 8. Simple Navigation
      • 9. View Stack
      • 10. Input Validation
      • 11. View Parameters
      • 12. Data Manipulation
      • 13. Responsive Apps
      • 14. Styling
      • 15. Lists
      • 16. GPS Capturing
      • 17. Relationships
      • 18. Multiple User Roles
      • 19. Deployment and Users
      • 20. Version Control
      • 21. CSV and APIs
      • 22. Conclusion
    • JourneyApps Platform Fundamentals
      • Creating a New App
        • Git-enabled Apps
      • What are Views?
      • What is the Data Model?
      • JourneyApps Syntax Basics
      • Access the Database (DB)
        • Manipulate DB Objects
        • Query DB Objects
      • View Navigation
        • Deep Linking
      • CloudCode Overview
      • OXIDE (Online IDE)
  • 💻Build your App
    • JourneyApps Syntax
      • Syntax Basics
      • Access the DB
      • View Navigation
      • Async & Await
      • TypeScript Apps (Beta)
        • runtime-build package
        • TypeScript App Troubleshooting
      • What's New in V4
        • Updating to the V4 API
    • Configure your Data Model
      • What is the data model?
      • Reference: model
        • field
        • belongs-to
        • has-many
        • index
      • Data Rules
        • Data Buckets
        • Sync Rules - Limit data synced to devices
        • Data ACLs - Limit access to data
        • Real-world example for Data Rules
        • ❔FAQs
        • Migrate to Data Rules
      • App Indexes
      • Webhooks
    • UI Components
      • All UI Components
        • actionSheet
        • Attachments
        • button
        • button-group
        • capture-coordinates
          • marker
          • marker-query
        • capture-file
        • capture-photo
        • capture-signature
        • card
          • accent
          • action
        • columns
          • column
        • component
        • context-menu
          • divider
          • item
        • CSV
        • date-input
        • datetime-input
        • dialog
          • body
        • display-3d-model
          • 📖display-3d-model Guides
            • Guide 1: Initialize and layout a 3D model in a view
            • Guide 2: Control playback position
            • Guide 3: Troubleshooting controls
        • display-coordinates
        • display-file
        • display-image
        • display-photo
        • display-signature
        • heading
        • html
          • HTML Advanced Topics
          • ❔HTML FAQs
          • 📖Guide: HTML & JourneyApps iFrame Client
        • icons
        • info
        • info-table
          • row
        • journey.photos (capture multiple photos)
        • JourneyPrinter (print PDFs)
        • grid
          • cell
          • 📖grid Examples
        • list
          • list-item
            • accent
            • asset
            • pills
              • pill
            • action
        • multiple-choice-checklist
        • navigation (Navigation drawer)
          • general-section
            • item
          • section
            • item
              • item
          • ❔navigation FAQs
        • notification
        • object-dropdown
        • object-list
          • action
        • object-repeat
        • object-table
          • action
          • column
            • action
            • edit-boolean
            • edit-date
            • edit-datetime
            • edit-integer
            • edit-number
            • edit-select
            • edit-text
            • edit-time
            • edit-typeahead
              • action
            • header-action
          • column-group
          • empty-action
          • 📖object-table Guides
            • Actions
            • Cell callouts
            • Column groups
            • Columns
            • Controlled object-table
            • Controls
            • Copy & paste data
            • Edit cells
            • Filters
            • Frozen columns
            • Fullscreen object-table
            • Mode
            • State
            • Styles
        • optionList
        • PhotonSync (transfer data offline)
        • power-bi
          • 📖Guide: PowerBI Embedding
        • scan-barcode
        • shortcut
        • sidebar
        • single-choice-dropdown
        • single-choice-radio
        • template
        • text-input
        • time-input
        • toggle
        • view
      • JS/TS Events
      • Show / Hide UI Components
      • View Templates
      • XML Fields (Attributes)
        • align-content
        • align-controls
        • align-label
        • bind
        • clear-button-visibility
        • control-order
        • disabled
        • error-message
        • icon-position
        • id
        • hide-if
        • modifier-text
        • label
        • label-case
        • label-color
        • on-change
        • on-press
        • placeholder
        • required
        • show-if
    • JS / TS APIs
      • Attachment
      • Bluetooth (Beta)
      • Broadcast
      • component
      • CSV
      • DB
      • HardwareBarcode
      • journey
        • journey.config
        • journey.container
        • journey.device
        • journey.diagnostics
        • journey.dialog
        • journey.files
        • journey.hardware
        • journey.photos
        • journey.runtime
        • journey.sensors
        • journey.viewStack
      • JourneyPrinter
      • KeyboardBarcode
      • LocalDB
      • NFC
      • OnlineDB
      • PhotonSync
      • SerialPort
      • ShortcutManager
      • TCPSocket
      • user
    • Extend your App with Custom Code
      • App packages
        • App packages overview
        • PDF report package
        • TypeScript library & unit tests
        • Manage External Dependencies
      • Custom HTML
    • Style & Customize your App
      • Style & configure UI components
        • Overview
        • Understand extendable themes
        • Use themes on a view
        • Theme specific components on a view
        • Examples
        • Debugging
        • ❔FAQs
      • Change your App Font
      • Custom Branding
        • Custom Container Features
        • Special Requirements for iOS Containers
    • Integrate your App
      • Backend integrations with CloudCode
      • Barcode Scanning
        • Barcode Scanning using Keyboard Emulation
        • Hardware Barcode Scanning
        • scan-barcode
      • Bluetooth Low Energy (BLE)
      • Broadcast API
      • HTTP requests (Fetch API)
      • JourneyApps Print (Android)
      • Maps and navigation
      • NFC
      • Opening external links/apps
      • Serial Port
      • TCP Sockets
    • Design Intuitive Apps
      • UX Guidelines
      • Write Effective Copy
  • 📱App Features
    • RealWear® Voice Control
      • Automatic Voice Commands
        • Automatic Voice Commands - Advanced
      • Manual Voice Commands
    • App, Runtime and Container Updates
    • Batch Operations (App)
    • Call JS/TS Functions from XML
    • Capture GPS Locations
    • Push Notifications
    • Translations
    • XML Format Strings
    • Webhooks (External)
  • 🌐CloudCode
    • CloudCode Overview
    • Trigger a CloudCode Task
      • Trigger CC with a Schedule
      • Trigger CC via a Webhook
      • Trigger CC from an App
      • Trigger CC from Another Task
      • Trigger CC via HTTP
    • Attachments in CloudCode
    • Timezones
    • Advanced CloudCode Topics
      • Access Multiple DBs in CloudCode Tasks
      • Batch API (CloudCode)
      • CloudCode Dependencies
      • Configure HTTPS in CloudCode
      • Deployment environment variables
      • Local CloudCode Development
      • PDF Reports using CloudCode
      • Shared CloudCode Tasks
      • Translations in CloudCode
  • 📥Backend API
    • Introduction
    • API Reference
      • Retrieve All Objects
      • Query Objects
      • Sort Results
      • Limit and Skip
      • Count Objects
      • Create a New Object
      • Retrieve a Single Object
      • Update a Single Object
      • Delete a Single Object
      • Batch Operations (v4 API)
      • Oplog API
      • Retrieve the App Data Model
      • Manage App Users and Sessions
      • Field Representation
      • Error Responses
    • API Limits
    • Update to the V4 API
  • ⚙️Technical
    • Data Synchronization Priority
    • Device Diagnostics
    • JSON1 Query Engine
    • Improve App Performance
    • Security Measures
    • Supported Platforms
      • Web Container
      • Windows Installer
    • Domain Whitelist
  • 🖥️OXIDE
    • Get started with OXIDE
      • OXIDE Overview
      • Components of OXIDE
    • Configure Testing Deployments
    • Edit and Manage Files
      • How to Navigate to a Function
      • Manage External Dependencies
    • Create and Manage App Containers
    • Debugging & Troubleshooting
      • Common Troubleshooting Pointers
      • App Diagnostics Reports
      • Build Logs
    • OXIDE Workspaces
      • OXIDE Trees
  • ❕Deprecated Features
    • Deprecated Features and Components
Powered by GitBook
On this page
  • Introduction
  • Customizable container features
  • How to enable/disable container features
  • Review which features are enabled for a container
  1. Build your App
  2. Style & Customize your App
  3. Custom Branding

Custom Container Features

PreviousCustom BrandingNextSpecial Requirements for iOS Containers

Last updated 2 years ago

Version compatibility

  • Custom container-level features were introduced in version 22.9.1 of the JourneyApps Container.

  • Custom usage descriptions were introduced in version 22.10.2 of the JourneyApps Container for iOS.

Introduction

It is possible to enable only specific container-level features when creating a . Excluding features from the container if they are not used by the app has the following benefits:

  1. App users will not receive unnecessary permissions requests. Certain container-level features require permission from the user to access their device. For example, when a user wants to take a photo in the app for the first time, they are prompted to allow access to the device's camera. By only including the features that are used in your app, users will only receive relevant permissions requests.

  2. Reduced chance that a container is rejected by the App Store. Containers could get rejected by the App Store if a container-level feature is enabled, but not used in an app.

The table details all customizable container features per platform.

Custom usage descriptions (iOS only)

Limitations

  • Custom usage descriptions are currently only available in English.

For certain permission prompts it is possible to add customized usage descriptions to more accurately describe how a feature is being used in an app. See the example below of a default usage description that can be customized:

The "Custom usage description" column in the shows which container features support custom descriptions, and what the default description is.

Customizable container features

Container feature
Platforms
Custom usage description

Audio Recording: Access device microphone for audio recording.

Android, iOS

Supported.

Default: This app needs microphone access

Background Location Tracking: Track device location while app is in the background.

Android, iOS

Supported.

Default: Your location will be used to assist with your current workflow. This includes capturing your location, displaying it on a map or tracking it as part of a route. If you only allow access while you are using the app, some features will not work accurately while this app is in the background.

Barcode Scanning: Scanning of barcodes and QR codes.

Android, iOS

Supported, as part of camera permissions which includes taking photos and scanning barcodes.

Default: This app needs access to the camera to take photos and scan barcodes.

Bluetooth: Bluetooth low energy support. Only available for Enterprise clients.

Android, iOS

Note: Apple AppStore submissions require the feature to be used if included.

Supported.

Default: This app needs bluetooth access

Components: Enables certain native UI components, e.g. date picking.

Android, iOS, Windows

Enrollment: Enables enrolling into a base JourneyApps runtime environment.

Android, iOS, Windows

Supported, as part of camera permissions which includes taking photos and scanning barcodes.

Default: This app needs access to the camera to take photos and scan barcodes.

Inter-App Communication: Communicate with external services and apps, e.g. Android Intents.

Android

Internet Access: Make HTTP network requests.

Android, iOS, Windows

Location Services: Access device physical location.

Android, iOS, Windows

Supported.

Default: Your location will be used to assist with your current workflow. This includes capturing your location, displaying it on a map or tracking it as part of a route.

Media: Open URIs and files

Android, iOS, Windows

NFC: Near Field Communication support

Android, iOS

Supported.

Default: This app needs to read and write NFC Tags

Networking: Communicate via network sockets.

Android, iOS, Windows

Photos: Capture and select photos from device.

Android, iOS, Windows

Supported, as part of camera permissions which includes taking photos and scanning barcodes.

Default: This app needs access to the camera to take photos and scan barcodes.

Printing: Print documents, HTML and text.

Android, iOS, Windows

Push Notifications: Receive push notifications.

Android, iOS, Windows

Sensors: Access to device sensors, e.g. Accelerometer.

Android, iOS, Windows

Serial Communication: Communicate via UART like protocols.

Android, iOS, Windows

Voice Commands: Application control via voice commands.

RealWear only

How to enable/disable container features

See the following section:

Review which features are enabled for a container

Enabled container-level features can be reviewed for a particular container in OXIDE as well as on a device.

OXIDE

Navigate to the container build, and click on a build's "Summary" button to view more information, including selected features.

On a device

Enabled features are listed in the Capabilities section on the Diagnostics page.

Note: For iOS, this feature also requires the Push Notifications .

Note: For iOS, this feature also requires the NFC Tag Reading .

Note: For iOS, this feature also requires the Push Notifications .

💻
Create and Manage App Containers
bundle ID capability
bundle ID capability
bundle ID capability
custom-branded container
below
table below