Skip to main content

iOS - Access Module Configuration

note

To enable a module to access configuration data at build time, specify the data node in settings.json located in your Q2DevApp. This configuration is also required when submitting a Mobile Module Deployment request. :::

Each module entry in settings.json includes an optional data field, which can be used to pass custom configuration. This configuration is parsed and made available to the module at runtime.

Example configuration in settings.json:

Module Configuration in settings.json
{
"name": "q2-demo-ios",
"packageName": "q2-demo-ios",
"productName": "Q2Demo",
"className": "Q2DemoModule",
"identifier": "com.q2.mobile.module.demo",
"data": "{\"key\": \"value\"}",
"enabled": true
}
In production, configuration values like apiKey will vary per financial institution

(FI) and must be included in your deployment request. :::

Access Configuration in Your Module

Modules conforming to the Module protocol can access build-time configuration using the moduleDataSource.

Accessing Configuration as a Dictionary

Access as Dictionary
let value = moduleDataSource?.buildConfig.dataDictionary["key"] as? String

Accessing Configuration as a Raw String

Access as Raw String
let configString = moduleDataSource?.buildConfig.dataString

This allows the module to dynamically read configuration values passed in by the host application at build time.