Insight

From app center to EAS: Why we made the switch

From app center to EAS: Why we made the switch

Nawaf Ibrahim

Photo of Nawaf Ibrahim

Nawaf Ibrahim

app developer

4 minutes

time to read

February 24, 2025

published

For years, App Center has been a go-to tool for managing builds and deployments, but with Microsoft pulling the plug by March 31, 2025, it’s time to find an alternative. Like many others, we had to figure out what came next - and fast.

But this wasn’t just about replacing a tool. It was about finding something better. Something more reliable, efficient, and future-proof. After exploring our options, we landed on Expo Application Services (EAS). Making the switch wasn’t without its challenges, but in the end, it transformed the way we handle app distribution. Here’s what we learned along the way.

 

A crossroads in app distribution

When App Center announced its retirement by March 31, 2025, we knew change was inevitable. We’d relied on it for years, but let’s be honest - things hadn’t been smooth for a while. Builds were failing unexpectedly, slowing us down and frustrating our clients. It was clear that we needed something more reliable, future-proof, and better suited to the way we work.

But this wasn’t just about swapping one tool for another. We wanted something that wouldn’t just replace App Center but actually improve our workflow - making deployments smoother, reducing friction, and giving us back valuable time.

 

Finding the right alternative

That’s when we turned our attention to the trending Expo Application Services (EAS). We approached it with a critical eye, focusing on how it would impact our clients first and foremost. One of the biggest advantages was its built-in store connections, eliminating the need for manual interventions when publishing to the App Store and Google Play. This meant faster turnaround times and fewer potential errors in the release process.

For us, EAS brought even more to the table - better automation, flexible configurations, and a more integrated approach to managing builds. The potential was exciting, but we knew that transitioning wouldn’t be as simple as flipping a switch.

microsoft app center
 

Setting up EAS and why you should use it

Making the switch to EAS required configuring our environment and ensuring a smooth transition. EAS provides a cloud-based build infrastructure that removes the need for maintaining local build machines, making the process more efficient. With faster builds, smooth store integrations, and stronger security through managed credentials, it became the best option for us.

Steps to Set Up EAS:

The EAS config file for the project is eas.json. In here we use profiles to determine the type of application we want to build. If you want the application to be downloaded for pre-release testing and UAT etc the `distribution` field in the profile needs to be set to `internal` so this can be downloaded via the link on test devices (iOS devices need to be added to the provisioning profile).

Provisioning profiles and signing certificates are generated and handled by EAS so we don't need to manually change these. If you need to update the provisioning profile because a new device has been added, you need to choose the option to create a new one when you run the `eas build` CLI.

Get started
Install the EAS CLI npm i -g eas-cli
Create project in expo.dev and copy id
Login to your EAS account with`eas login
Run eas init —id {projectID} in your project root to initialise the EAS configuration
Make sure the "owner" and "slug" key values are added below "extra" object in app.json and Initialise your EAS build configuration with eas build:configure
Add certificates and signing keys to Project > Configuration >Credentials https://expo.dev/accounts/{account-name}/projects/{project-name}/credentials
Add SSH_KEY_BASE64 key to a .env file and add env variables from .env to the project EAS secrets with  eas secret:push --scope project --env-file .env –force
Create your first build with eas build
If you want to use local credentials like device provisioning and keystore you need to specify these in the `credentials.json`. All reference to credentials should be .gitignored 

Build steps:
Checkout the branch you want to build (i.e staging or production)
Run `eas build --profile [staging|production]`
Follow through the CLI and create builds for both platforms
The build will then be uploaded to EAS and you can track the progress via https://expo.dev/accounts/thedistance/projects/[project name]
When build is complete, it can be distributed to provisioned devices by sending them the link to the build or the QR code.

EAS Versioning 
We can let EAS manage the versioning of our apps and skip this previously manual task. 

Update app.json 
"cli": {
   "appVersionSource": "remote",
  . . . 
"build": {
   "production": {
       "autoIncrement": true
    }
Set remote buildNumber, versionCode to start from with eas build:version:set
This lets EAS manage the buildNumber/versionCode increament.

EAS Submittion to Stores
 Google Play Internal Track (Android)
For submitting to the Google Play internal track, you will need the Google Service Account JSON. This JSON will give permission to EAS to upload builds.

Setup steps on this guide
https://github.com/expo/fyi/blob/main/creating-google-service-account.md

1. Go to Google Cloud Console - Service accounts  
2. Create new account - this produces and autodownloads the json 
3. Copy email of service account 
4. Add email as user with access to the app in Google Play Console - Users and Permissions enabling Releases permissions

eas build --platform android --profile production --auto-submit

TestFlight (iOS)
For TestFlight, you need to 2set up App Store Connect API keys, which are also managed in your App Store Connect account under Users and Access -> Keys. You can store the necessary App Store Connect credentials (e.g., App Store Connect API key, issuer ID) in EAS Secrets.
https://github.com/expo/fyi/blob/main/creating-asc-api-key.md

Create key, download and add to 1Password with name "AppStore Connect Auth Key for EAS Submit"
Add Issuer ID, Key ID and the .p8 file to EAS Credentials

eas build --platform ios --profile production --auto-submit

By leveraging EAS, we reduced build times, eliminated the need for Mac devices when building iOS apps, and improved deployment efficiency. The ease of use and integration made it an obvious choice.

 

The challenges of migration

The migration process came with its own set of roadblocks. One major hurdle was organising different clients under separate organisations to maintain security and confidentiality. Another challenge was selecting the right EAS plan for each client, as some of the lower-tier plans had shorter link validity periods, which added complexity to our distribution strategy.

It wasn’t all smooth sailing, but we worked through it, refining our approach along the way. In the end, the process made us more structured in how we manage client projects, leading to a system that’s not just secure but also more efficient.

 

Embracing the future

Looking back, switching to EAS wasn’t just a technical decision - it was a strategic one. What felt daunting at first ended up being a game-changer, improving how we manage releases and deliver updates.

Change is never easy, but staying ahead means adapting. With EAS, we’ve set ourselves up for long-term success, making sure both our team and our clients benefit from a smoother, more reliable workflow.

 

Final thoughts

Looking back, migrating to EAS was more than just a reaction to App Center shutting down - it was an opportunity to improve our process and future-proof our workflow. While the transition came with its challenges, it ultimately gave us a more reliable, scalable, and streamlined way to handle deployments.

If you’re still relying on App Center, now’s the time to explore your next move. Change isn’t always easy, but sometimes it’s exactly what you need to take things to the next level. For us, EAS was the right choice - and it might be for you too.

 
contact us

Apply theses insights

Contact us to discuss how we can apply theses insights to your project