1.4 Configurations for the IOS application

This topic provides information on Configurations for the IOS application.

Application-level configurations are present in ‘app.plist’ (ZigBank/Resources) of the workspace.

Note:

These are configurations for different features. The description of each is in given below format.

Type - Data Type of value.

Purpose - Its usage.

Value – The possible values.

Configurable – Yes if bank can be allowed to change. No if the value is not allowed to be changed.

  1. For BACKEND URLs:

    This is a mandatory configuration.

    OpenXcode by clicking ZigBank.xcodeproj at zigbank/platforms/ios/

    In your mobile application, set below properties as mentioned below:
    1. LOGIN_SCOPE: openid
    2. SERVER_TYPE: OAUTH3
    Replace below $ variables with actual values as per bank’s setup: (Refer Mobile Application Cloud Configuration Guide.
    1. KEY_SERVER_URL: ${KEY_SERVER_URL}
    2. APP_CLIENT_ID: ${Client ID} (as generated in IDCS)
    3. IDCS_URL: ${IDSC_URL}/oauth2/v1/token
    4. WEB_URL: ${WEB_URL}
    5. REDIRECT_URI: ${REDIRECT_URI} (Set this value which is configured in IDCS mobile application)
    6. KEY_OAUTH_PROVIDER_URL: ${KEY_OAUTH_PROVIDER_URL}
  2. To Enable SSL:
    1. By default, SSL pinning is NO in the workspace.

      Recommended to set to YES for production URLs with a valid authorized SSL certificate on server.

      For more information on fields, refer to the field description table.

      Table 1-1 Enable SSL

      SERVER_TYPE Description
      CertificateType

      Type: String.

      Purpose: File extension of SSL Pinned certificates.

      Value: cer.

      Note: the certificate file added in the workspace should also have .cer extension.

      Configurable: No.

      PinnedUrl

      Type: Array.

      Purpose: Pinning URL to be entered here. This is the https URL of the server against which the certificate will be verified. Can add multiple if required.

      Value: https server URL.

      Configurable: Yes.

      PinnedCertificateName

      Type: Array.

      Purpose: For verification of SSL, this certificate will be pinned in the application and verified against the server URL.

      Value: Houses the certificate name (without extension) of the pinning certificate. Old certificate (about to expire) and new one can co-exist.

      Configurable: Yes.

      SSLPinningEnabled

      Type: Boolean.

      Purpose: To enable SSL Pinning. SSL checks are performed on application launch.

      Value: YES for enabling. NO for disabling.

      Configurable: Yes.

      SSLPinningEnabledNoNetworkCall

      Provides the option of whether to load the login page if SSL Pinning fails. SSLPinningEnabled also must be set to YES for it to work.

      If set to YES and SSLPinningEnabled is set to YES then if SSL Pinning fails, then login page does not load.

      If set to NO and SSLPinningEnabled is set to YES then if SSL Pinning fails, then login page loads.

      Configurable: Yes.

      EnableSSLPinningForEveryRequest

      Type: Boolean.

      Purpose: To enable SSL Pinning for every request fired from application pages in the entire application.

      Value: YES, for enabling. NO for disabling.

      Configurable: Yes.

    2. Refer section: Enabling SSL pinning in the application on how to configure the workspace to enable SSL pinning in the application.
  3. To Enable Force Update

    This is an optional configuration.

    Refer section: Enabling Force update on more details on how to configure the workspace for this.

    For more information on fields, refer to the field description table.

    Table 1-2 Enable SSL

    SERVER_TYPE Description
    ForceUpdate

    Type: Boolean.

    Purpose: To enable force update feature in the application.

    Value: If set to YES, then the application will check for updates from the Appstore and display a non-dismissing popup. User needs to forcefully update the application. Default value: No. Recommended to set these configurations before releasing the first version so that force update works for future releases.

    Configurable: Yes.

    AppStoreID

    Type: String.

    Purpose: The force update will be checked against this application ID.

    Value: Enter the ID of the application from AppStore.

    Configurable: Yes.

    AppStoreURL

    Type: String.

    Purpose: URL to AppStore redirection on click of update button.

    Value: It is set to https://itunes.apple.com/in/app/id@@AppStoreID?mt=8.

    Just replace @@AppStoreID to what is set above for ‘AppStoreID’.

    Configurable: Just update as mentioned above. Do not change the URL.

    itunesUrlForVersionCheck

    Type: String

    Purpose: URL to check application version in AppStore for force update.

    Value: It is set to https://itunes.apple.com/in/app/id@@AppStoreID?mt=8.

    Just replace @@AppStoreID to what is set above for ‘AppStoreID’.

    Configurable: Just update as mentioned above. Do not change the URL.

    Note:

    If any of the above configurations are missing or invalid, the application will display blank screen on application launch.
  4. COMMON CONFIGURATIONS

    For more information on fields, refer to the field description table.

    Table 1-3 COMMON CONFIGURATIONS

    SERVER_TYPE Description
    XcodeBuildVersion

    Build version with which the workspace is built with.

    Configurable: No.

    PatchSetVersion Version of the. OBDX application to identify the version of the workspace inside the patch installer.
    SUITENAME

    Group identifier for sharing keystore information.

    This Should match the app group added in the profile and in Targets->Signing Capabilities.

    App Groups are linked with the provisioning profile and its value can be verified from the Zigbank target->Signing Capabilities.

    This value is important for the secured storage of the information and SIRI to work.

    Configurable: Yes.

    BankName

    Name of bank to be shown on touch id / face id popup.

    Configurable: Yes.

    DomainDeployment

    To be always set YES for token-based development.

    Configurable: No.

  5. For location tracking metrics
    1. This is optional. Bank needs to do if they need location tracking metrics for monitoring location-based data.

      For more information on fields, refer to the field description table.

      Table 1-4 Location tracking metrics

      SERVER_TYPE Description
      ALLOW_LOCATION_SHARE By default, the value is false. If set to true, user will get location permission prompt to allow location tracking. It can be enabled if user’s location needs to be tracked.
  6. For displaying “Rate Us” to redirect to Appstore page
    1. This is optional. User can have an option (“Rate Us”) in settings to display App Store rating for the application. This option can be enabled/disabled from UI. Also, on click of the option, to open AppStore page for the application set below value. For more information on fields, refer to the field description table.

      Table 1-5 Table Displaying “Rate Us” to redirect to Appstore page

      SERVER_TYPE Description
      AppStoreURL Replace @@AppStoreID with that of the application.