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 certification process that includes testing with production builds. Once certified and marked as "QA Passed", your module will be released for general availability.

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 Certification

1. Create Support Ticket

2. Create Release Branch

  • Create a branch named x.y.z-beta.1 where:
    • x.y.z = your target release version
    • beta.1 = first iteration for certification testing
    • Use beta.2, beta.3, etc. for subsequent fixes within the same version
  • 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. Certification Build Process

Certification App:

  • Partners

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

After code review approval:

  • Your changes are merged to master
  • master branch is tagged as x.y.z-beta.x
  • Certification 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 with: "QA Passed. Release x.y.z-beta.x"
  • 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 Certification App

Use Certification App 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 certify your module using the last released Q2MobileApp, we need Certification App created on your testflight. This app is built using Q2MobileApp's production code combined with your module.

Please follow the steps below and send the requested assets in a .zip file via email to ruchish.shah@q2.com


1. Register Certification App 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 Certification App 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 Certification App

  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. Certification App Environment

Your Certification App 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. Certification App 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 Certification App 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 certification app 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.