What Is a Phased Release?
A phased release or phased rollout is an app version update released in stages to a percentage of users over a seven-day period. Users are randomly selected from those who have enabled automatic updates on their devices, and existing users can also update to the new version manually.
Releasing new versions gradually helps to address issues and bugs in a controlled environment while continuing to test the performance. Staged rollouts are used to experiment with new features to evaluate their performance and compare them (A/B testing) with previous versions.
How Does the Phased Release Process Work?
Mobile developers track and manage phased releases of iOS apps updates and enable rollout using the App Store Connect API 1.2 and later (web service endpoint). Phased rollouts are part of your mobile app release management activities.
Krasamo iOS developers perform continuous integration/continuous delivery (CI/CD) and DevOps practices to ensure the app is in a releasable state every time a phased rollout is planned.
It is recommended to release apps frequently and in small batches as phased releases cannot be rolled back. You can build a new release to replace the previous one. Phased releases are used for new releases of existing apps.
Steps for an iOS Phased Release
1. Existing app in the App Store
2. Configuration set up in the App Store/dashboard
3. Upload build (beta version)
4. App testing (beta version) before release to production with beta testers and groups of users using Testflight
5. Analyze crash reports, screenshots, and context information
6. Use feedback to adjust technical and user interface (UI) issues
7. Prepare and create rollout release—version update
Release version update in Phases
8. Analyze key operational metrics and release details
9. Publish/rollout app update release—submit app for review. App versions can be released manually or automatically after App Review.
App will show “phased release” ready status when viewing the app version
10. Updated app available in the App Store and distributed to users
You can set up the version release option to “update in phases” when the app has the following processing submission statuses (yellow status):
- Prepare for Submission
- Waiting for Review
- In Review
- Waiting for Compliance
- Pending Developer Release
You can pause phased releases for up to 30 days in case you have to modify the code due to a bug or the detection of other issues, but this pause can affect users. Also, the app can be immediately released to all users once it has the “Ready for Sale” status. Phased releases that have not been initiated can also be cancelled.
Releasing apps frequently and in small batches is recommended, as phased releases cannot be rolled back. Also, you should always have a build ready for release in case you have to roll back. If cancelling a rollout in progress, you will have to replace it with a new version of code.
App testing is performed with the TestFlight app. iOS developers designate members of their team as beta testers and create groups to assign builds and focus on features on specific devices for testing. App testing can also be performed with external testers following details in the app’s test information page.
You can automate workflows across developer tools and App Store Connect using the App Store Connect API (REST API). Manage apps and versions in App Store Connect and make changes that affect the data for development and distribution, such as beta builds in TestFlight, XCode Cloud, users and roles, provisioning, create new versions, metadata, reporting and metrics.
You can create multiple rollouts that target different devices and platforms. The app store phased release feature can be used by all Apple platforms (iOS, macOS, ipadOS, watchOS, and tvOS).
Check Apple’s documentation on phased releases, and reach out to us to discuss strategies on the build and phased release processing of iOS apps as well as how to automate the process for packaging your app for distribution.