Skip to main content

iOS - Module Release

This guide is for developers who have completed development or updates to their iOS module and have tested it locally using Q2DevApp. When you're ready to release your module for production consumption, it must go through a test build process that includes testing with production builds. Once validated and marked as "QA Passed", your module will be released for general availability.

Note: For details on module version whitelisting requirements, see Module Whitelisting Requirement.

When to Use This Process

Use this release process when you have:

  • Completed development of a new module
  • Updated an existing module with new features or bug fixes
  • Tested your module thoroughly with Q2DevApp locally
  • Ready to make your module available to Financial Institutions

Submit for Test Build

1. Create Support Ticket

2. Create Release Branch

  • Create a new release branch from master
  • Use any branch name that fits your team's workflow
  • Validate all changes locally using your dev app
  • Open a Merge Request from your release branch to master

3. Update Merge Request

  • Name your MR: [Ticket #123] [iOS] Release | module-name | x.y.z
  • The ticket will be assigned internally for code review

4. Test Build Process

Test Build:

  • Partners

    • New Module: Must complete test build setup following the How to Create iOS Test Build process before proceeding.
    • Existing modules: No additional setup required.
  • Financial Institutions: No separate test build creation needed - your module will be part of your existing TestFlight entry.

After code review approval:

  • Your changes are merged to master
  • Q2 determines the next release version automatically
    • Default behavior is the next patch version
    • Requested minor or major bumps are taken from the support ticket
  • Test build is triggered using:
    • Latest released mobile app version, OR
    • Develop version (if your module depends on unreleased mobile app features)

5. TestFlight & QA Review

  • Build is pushed to TestFlight using:
    • Partners: Your TestFlight credentials
    • Financial Institutions: Your TestFlight account
  • You'll receive a notification on your support ticket
  • Test your module and confirm on the support ticket that it is ready for production release
  • Test Build Requirements: As part of the QA passed stage, ensure your testing follows the module release criteria including providing a video demonstration of your workflow using the test build
  • If issues are found:
    • Use Q2DevApp to make corrections
    • Repeat process from Step 2.

6. Production Release

  • Q2 will merge master branch into production.
  • production branch will be tagged as x.y.z
  • Support ticket will be notified about this tag and release.
  • If this is new partner module,
    • its whitelisted for next mobile app release and FI can request build with your module via SDK Deployment Ticket.
  • If this is new FI module,
    • its whitelisted for your FI app and available for next build once mobile app finishes its release process.

How to Create iOS Test Build

Use Test Build to validate your module with production-level code. This process allows Q2 to verify the Apple App Store upload workflow when your module is integrated into Q2MobileApp.

To validate your module using the last released Q2MobileApp, we need a Test Build created on your testflight. This app is built using Q2MobileApp's production code combined with your module.

Please follow the steps below and attach .zip file to the support ticket you created in earlier steps.


1. Register Test Build Bundle ID on Apple Developer Portal

  1. Go to Apple Developer Identifiers.

  2. Click the + icon next to Identifiers.

  3. Select App IDs, then click Continue.

  4. Choose the type App, then click Continue.

  5. Under Description, specify Q2[ModuleName] App.

    Example: If your module is named Demo, enter:
    Q2Demo App

  6. Choose an Explicit Bundle ID and enter:
    com.q2.mobile.[ModuleName]

    Example:
    com.q2.mobile.demo

  7. Select the required Capabilities, App Services, and Additional Capabilities.

  8. Click Continue and then Register.

💡 Please record the following information and include it in your email:

  • Team ID
  • App ID Prefix
  • Bundle ID
  • Description
  • Required Capabilities, App Services, and Additional Capabilities

2. Create the Test Build in App Store Connect

  1. Go to App Store Connect.

  2. Click the + icon and choose New App.

  3. Select iOS as the platform.

  4. Set the app Name as Q2[ModuleName].

    Example:
    Q2Demo

  5. Set Primary Language to English (U.S.).


3. Create Provisioning Profile for the Test Build

  1. Go to Apple Developer Profiles.
  2. Click the + icon.
  3. Choose App Store under the Distribution section.
  4. Select the App ID created earlier (e.g., com.q2.mobile.[ModuleName]).
  5. Choose the Distribution certificate.

🔐 Note:
Include your distribution certificate in .p12 format with its password in the same email.
This certificate must be associated with the provisioning profile.


4. Push Notification Setup (If Applicable)

If your module requires push notifications:

  • Enable Push Notification capability in the App ID.
  • Create a project on Google Firebase.
  • Configure the Firebase project to match the iOS app with the Bundle ID you registered.

📦 Instead of sending the full GoogleService-Info.plist, please provide only the following values:

  • googleAppId
  • gcmSenderId
  • apiKey
  • projectId

5. Test Build Environment

Your Test Build will be configured with the same sandbox banking URL you used while testing your module in Q2DevApp.

If your stack is abc, then the sandbox URL will be:
https://stack.q2developer.com/sdk/abc/ardent/uux.aspx#/login


6. Test Build Versioning

The version format for your uploaded app in App Store Connect should follow: 1.0.{Q2MobileAppVersion}

Example:
If the Q2MobileApp version is 4.3.12, then your app version should be:
1.0.4312


7. Grant Developer Access to Your App Store Connect

To enable Q2 to upload the Test Build via Q2 CI, you must grant Developer permission to the following user for the app created in App Store Connect:

Email IDRequired Permission
q2appsupport@q2.comDeveloper

How to Add Developer User to App Store Connect

  1. Go to App Store Connect
  2. Navigate to Users and Access from the main menu
  3. Click the + button to add a new user
  4. Enter the following information:
  5. Under Apps, select your test build and ensure the user has access
  6. Click Invite to send the invitation

⚠️ Important: The q2appsupport@q2.com user must have Developer permission specifically, not just App Manager or other roles, to successfully upload builds via the automated CI process.

First-Time Partner Release

  • Your onboarding process concludes here.
  • Your module will be listed in the Q2developer Application Catalog.

Updating Existing Modules

  • No additional steps are required.
  • Financial Institutions can request your module via the Marketplace Catalog.