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.