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
- Go to https://q2developer.com/support/create?ticketType=General
- Enter Summary as:
[iOS] Release | module-name | x.y.z
- Replace
module-name
with your repository name - Replace
x.y.z
with your planned version
- Replace
- Select
Mobile SDK
as Q2 Product. - Specify Online Banking URL.
- For Partners:
- Option 1: Sandbox - https://stack.q2developer.com/sdk/{stack-name}/ardent/uux.aspx
- Option 2: Sales Demo Experimental (SDX) - https://demo.q2.com/salesdemo_experimental/uux.aspx
- For FI:
- Option 1: PTE
- Option 2: Production
- For Partners:
- Copy the ticket number for your MR title for Step 2.
2. Create Release Branch
- Create a branch named
x.y.z-beta.1
where:x.y.z
= your target release versionbeta.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 asx.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 intoproduction
. production
branch will be tagged asx.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
-
Go to Apple Developer Identifiers.
-
Click the + icon next to Identifiers.
-
Select App IDs, then click Continue.
-
Choose the type App, then click Continue.
-
Under Description, specify
Q2[ModuleName] App
.Example: If your module is named
Demo
, enter:
Q2Demo App
-
Choose an Explicit Bundle ID and enter:
com.q2.mobile.[ModuleName]
Example:
com.q2.mobile.demo
-
Select the required Capabilities, App Services, and Additional Capabilities.
-
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
-
Go to App Store Connect.
-
Click the + icon and choose New App.
-
Select iOS as the platform.
-
Set the app Name as
Q2[ModuleName]
.Example:
Q2Demo
-
Set Primary Language to
English (U.S.)
.
3. Create Provisioning Profile for the Certification App
- Go to Apple Developer Profiles.
- Click the + icon.
- Choose App Store under the Distribution section.
- Select the App ID created earlier (e.g.,
com.q2.mobile.[ModuleName]
). - 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 ID | Required Permission |
---|---|
q2appsupport@q2.com | Developer |
How to Add Developer User to App Store Connect
- Go to App Store Connect
- Navigate to Users and Access from the main menu
- Click the + button to add a new user
- Enter the following information:
- First Name: Q2
- Last Name: App Support
- Email: q2appsupport@q2.com
- Role: Developer
- Under Apps, select your certification app and ensure the user has access
- 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.