Skip to content

Deploying to the App Store

Let’s not mince words: App Store deployments are complicated.

Historically, you’d need to build complex CI/CD pipelines or develop locally on a Mac to create an iOS app. Expo and EAS have vastly simplified this process – it’s now entirely possible for a team of one to deploy an iOS app.

It’s still somewhat complex and takes time to set up initially. But once configured, you’ll have a pipeline for pushing all future updates without worrying about App Store complexities.

The App Store tabs in Mosayic mostly provide instructions rather than fully automated pipelines. Mosayic is limited in how much it can automate for App Store deployments, but other tools handle much of this automation:

For your first deployment, there’s a command that handles a huge amount of the complexity:

Terminal window
npx testflight

This command-line utility uses EAS to build your application and publish it to the App Store. It will:

  • Ask you setup questions
  • Integrate with the App Store
  • Build provisioning profiles
  • Guide you through the entire process

It’s an absolutely great tool for your first App Store deployment.

  • EAS account
  • Apple Developer account – $99/year in most regions (unavoidable for iOS development)
  • Google Play Developer account – $25 one-time fee (for Android)

Apple has two separate portals:

  1. Apple Developer Dashboard – for certificates, identifiers, and provisioning profiles
  2. App Store Connect – for managing your apps, TestFlight, and releases

These tools are famously difficult to use, but with practice you’ll get the hang of them. Unfortunately, they’re unavoidable for iOS development.

You’ll need to:

  • Create an identifier in Apple Developer
  • Create API keys
  • Create the application in App Store Connect

All of these steps are explained within Mosayic’s ‘App Store’ tab.

While npx testflight is amazing, you’ll likely notice issues on EAS’s free plan:

  • Builds get stuck in queues for a long time
  • You only get 15 iOS builds per month

You could theoretically work within these 15 builds. But if you’re debugging production-only issues or testing features like push notifications, that allowance may not be enough.

For this reason, Mosayic includes a codemagic.yaml file. CodeMagic requires some credential setup, but offers far more generous build allowances than EAS. It can build both iOS and Android applications.

Mosayic provides full documentation for both approaches, and this will be updated as tools evolve.