React Native to App Store
Ankit Singh
Mobile

React Native to App Store

STACK Expo SDK 51TOOLS iOS + AndroidDATE February 2025READ 15 min
React NativeExpoiOS

EAS Build, TestFlight, provisioning profiles, and all the landmines between your code and the App Store. A survival guide from someone who's been there.

Nobody Warns You About This

The React Native docs end where the pain begins. Getting from npx expo start to "Available on the App Store" involves Apple certificates, provisioning profiles, EAS configuration, TestFlight, and at least one afternoon of pure confusion.

This is the guide I wish existed when I shipped my first app.

EAS Build Setup

Expo Application Services (EAS) is the least painful way to build RN apps in CI. Install the CLI, run eas build:configure, and commit the generated eas.json. That's the easy part.

Build Profiles That Make Sense

Three profiles: development (local dev with dev client), preview (internal distribution via TestFlight), production (App Store). Don't conflate them or you'll submit a debug build one day and spend three hours wondering why.

Certificates and Provisioning: The Circle of Pain

Apple uses two things to verify builds: a signing certificate (who built it) and a provisioning profile (what devices can run it). EAS can manage both automatically. Let it. Do not try to manage them manually unless you enjoy suffering.

TestFlight and Internal Testing

Internal testers (your Apple Developer team members) get builds instantly. External testers need Apple review — 24-72 hours. Set up internal testing from day one so you can iterate fast.

Surviving App Review

Read the App Store Review Guidelines before you write a single line of code. The top rejection reasons: missing privacy policy, insufficient demo account, broken functionality on review device. Fix these before submission.

Tips That Saved My Submission

Include a demo account with pre-filled data. Record a screen capture of every non-obvious flow. Write the review notes like you're explaining your app to someone who's never heard of it — because you are.