Release Management is the configuration backend for client upgrades. It lets you create multiple upgrade tasks with various configuration dimensions.
About this task
iOS Release Management provides the following features:
Add upgrade resources and display a QR code for app downloads (only for Enterprise Distribution).
Create and modify tasks for new version deployment packages.
Create different types of release tasks for added deployment packages, such as whitelist canary, time-window canary, and full release. You can create multiple release tasks for the same version of an upgrade package.
Filter upgrades based on multiple conditions, such as city, device model, operating system version, network, and deployment package version.
Add a deployment package
Go to the mPaaS console and follow these steps:
In the navigation pane on the left, choose Real-time Release > Release Management. The release management list page is displayed.
Click + Add Deployment Package and configure the following settings in the pop-up window:
Platform: Select iOS.
Release Type: Options include AppStore, Enterprise Distribution, and TestFlight. For more information, see the descriptions below.
AppStore: Prompts users who have downloaded the app from the App Store to upgrade.
Enterprise Distribution: Prompts users of an internally distributed enterprise app to upgrade.
TestFlight: Perform a canary release validation for a new version before it is published to the App Store.
Click OK. The new deployment package appears at the top of the page.
In the release management list, click the plus icon (
) next to a deployment package to view its release tasks:If the upgrade package has not been released, its status is To be released, and it has no release tasks.
If the upgrade package has been released, its status reflects the status of the latest task, and it has associated release tasks.
AppStore
To use the App Store release type, you must first list your app on the Apple App Store.
When you select AppStore as the release type, enter the following information:
App Store URL: The URL of your app on the App Store.
Version Number: The version number of the deployment package. This version number must match the
Product Versionfield in the info.plist file of your iOS project.Release Description (Optional): A description of the deployment package.
Enterprise distribution
When you select Enterprise Distribution as the release type, select or enter the following information:
Upload Icon (Optional): Upload an image in
.jpgor.pngformat to use as the icon.Deployment Package: Select and upload a deployment package from your local machine. Only the
.ipaformat is supported.bundleId (Optional): The bundleId of your app. If you leave this blank, the bundleId you entered when downloading the configuration file from the code configuration page is used.
Version Number: The version number of the deployment package. This version number must match the
Product Versionfield in the info.plist file of your iOS project.Release Description (Optional): A description of the deployment package.
Download Verification: If you enable this switch, users must pass a CAPTCHA verification after scanning the QR code to download the deployment package.
NoteAfter you add a deployment package of the Enterprise Distribution type, a QR code is generated in the QR Code column of the deployment package list. You can scan this QR code to install the
.ipadeployment package on a mobile phone.
TestFlight
To use the TestFlight feature, you must create and enable a public link in App Store Connect.
TestFlight is available only for clients on version 10.1.32 or later.
The Package Expiration Time and Maximum Testers you enter must match the settings in your App Store Connect account.
When you select TestFlight as the release type, enter the following information:
Public Link URL: The public link URL that you created in App Store Connect. Make sure this link is enabled.
Package Expiration Time: The expiration time for the TestFlight package. This must match the setting in your App Store Connect account.
Maximum Testers: The maximum number of testers. This must match the setting in your App Store Connect account.
Version Number: The version number of the deployment package. This version number must match the
Product Versionfield in the info.plist file of your iOS project.Release Description (Optional): A description of the deployment package.
Create a release task
Create release tasks for an added deployment package. You can create multiple release tasks for the same version of a deployment package. A single upgrade package supports up to 10 concurrent release tasks.
Release task delivery rules:
If a client request matches multiple release tasks, the task for the higher version is delivered with priority.
If multiple release tasks are hit for the same deployment package version, the delivery priority is based on the task type, from highest to lowest: Full > Whitelist (Canary) > Time-window (Canary).
If the deployment package version and task type are the same, the most recently published task takes precedence. For example, you publish a whitelist task A for version 5.0 in the console that targets version 4.0 for a one-time upgrade. Then, you publish another whitelist task B that targets version 4.0 for a forced upgrade. If both tasks are active when a client on version 4.0 requests an upgrade, task B is delivered first. After task B is stopped or paused, task A is delivered.
If a canary task and a full release task are published for the same version, the release status in the list shows "Full Release". After the full release task is paused or ended, the release status changes to "Canary Release". If all tasks have ended, the status changes to "Release Ended".
Follow these steps:
Find the deployment package for which you want to create a release task.
In the Actions column on the right, click Create Release Task.
On the Create Release Task page, select or enter the following information:
Release Type: Options are Canary and Full.
Canary: A small-scale release to a subset of users to verify that the new package functions as expected before a full release.
Full: A full release of the version to all users.
NoteDeployment packages of the TestFlight and Enterprise Distribution types only support a Canary release. The TestFlight release page does not show the Release Type option. For Enterprise Distribution packages, the release type is fixed to Canary and cannot be changed.
Upgrade Mode: Options are One-time, Multiple-time, and Forced Upgrade.
One-time: Prompts for an upgrade upon app startup according to the silence policy.
NoteA silence policy means that after an upgrade prompt appears and the user clicks Cancel, the app enters a "silent" state for a period and does not show the prompt again. The default silence period is 3 days but can be customized. To customize the silence period, see Publish a new version.
Multiple-time: Prompts for an upgrade every time the app starts.
Forced Upgrade: Prompts for an upgrade every time the app starts, and the prompt window cannot be closed.
NoteDeployment packages of the TestFlight type do not have the Forced Upgrade option, only One-time and Multiple-time.
Release Model (Canary release only): Options are Whitelist Canary and Time-window Canary.
When you select Whitelist Canary, you can configure a whitelist below.
NoteYou can configure whitelists in Whitelist Management. For more information, see Whitelist management.
When you select Time-window Canary, you can select the End Time and Number of Canary Users below.
NoteDeployment packages of the Enterprise Distribution type do not have the Time-window Canary option, only Whitelist Canary.
Upgrade Prompt Message (Optional): The message displayed during the upgrade.
Release Description (Optional): A description of this release.
Advanced Rules (Canary release only): Click Add. In the pop-up window, you can choose to Include or Exclude specific information such as City, Device Model, and Network, and select the corresponding Resource Value for the selected Type.
After you complete the settings, click OK to start the release. You can click the plus icon (
) to the left of the deployment package to view the newly created release task.
Related operations
Upload a symbol table. In the release management list, you can upload a symbol table for an added deployment package.
One
.ipadeployment package corresponds to one symbol table file.Only symbol tables in
dSYMformat are supported. The file must be compressed into.tgzformat before uploading.
Change the release task of an upgrade package. In the release management list, you can click the plus icon (
) next to a deployment package to view its release tasks.Click Pause to pause the release task. After pausing, click Continue to resume the task.
Click End to stop the release task. After a task is ended, you cannot perform any more operations on it.