If you’re new to mobile development and Expo, start with the Overview to understand the benefits of Expo, then skip to New to Expo for a brief introduction to key concepts.
Overview
Expo is a platform that lets you build mobile apps for both iPhone and Android using the same code. When you ask Bolt to create a mobile app, it automatically uses Expo to make your app work on multiple platforms. Bolt’s Expo integration aims to:- Make mobile app development accessible to everyone, regardless of coding experience.
- Provide a seamless path from idea to app store, handling the complex technical setup for you.
- Give you complete control over your app’s publishing and distribution.
- The web.
- iOS: TestFlight (for testing) and the Apple App Store (for public access).
- Android: Google Play Beta (for testing) and Google Play Store (for public access).
Quick testing with Expo Go
While working on your app, you can quickly test it on your own phone using Expo Go.- Install Expo Go.
-
In your Bolt project, click Device Preview to display the QR code.
- In Expo Go, scan the QR code. The first time you do this, it will need some time to build.
Build and publish with Expo Application Services
You need to build and publish your app in order to:- Thoroughly test it, including making it available for other people to test.
- Make it available to the public on app stores.
Prerequisites
Before you can publish your app, you’ll need:- A computer with Node.js LTS and Git installed.
- An Expo account.
- For iPhone apps: an Apple Developer account.
- For Android apps: a Google Play Developer account.
You can test your app for free using Expo’s development tools. You’ll need paid developer accounts for Apple and Google if you want to distribute your app through the official app stores.
Set up your development environment
After building your app with Bolt, download the code and open it in a code editor such as VS Code. Install the EAS CLI (Expo’s command-line tool) by opening a terminal and running:Configure your app
Before publishing, customize your app’s basic information:-
Open the
app.json
file in your project. -
Update the
"name"
field with your app’s display name: -
Update the
"slug"
field with a URL-friendly version:
You can’t change the slug after you create your first build, so choose carefully.
Publish to web
Publish your app as a website. This is a quick way to share your app.-
Build your web app:
-
Publish to Expo’s hosting:
-
Choose a URL for your project and press
Enter
.
Publish to iOS
To get your app on iPhones, submit it to Apple’s TestFlight for testing, then to the App Store for public release.TestFlight (testing)
Use TestFlight to share your app with testers before it’s publicly available. Run this command:- Build your app for iPhone
- Create an app listing in your Apple Developer account
- Set up a TestFlight testing group
- Submit your build for internal testing
App Store (public release)
Once you’re happy with your app:- Go to App Store Connect.
- Fill in your app’s details.
- Submit for App Store review.
- Once approved, your app will be publicly available on the App Store.
Publish to Android
To get your app onto Android devices, you’ll use Google Play Console.Build for Android
Create a production build:Testing
- Go to Google Play Console
- Create a new app
- Set up internal testing:
- Go to Testing > Internal testing.
- Create a release.
- Upload your build file.
- Add email addresses of people you want to test the app.
- Share the testing link with your testers.
Public release
When ready for public release:- In Google Play Console, go to Production.
- Create a release and upload your build.
- Fill in your app’s store listing details.
- Submit for review.
- Once approved, your app will be live on Google Play.
Manage your app
Steps to update and monitor your app.Update your app
When you make changes in Bolt and want to update the app you published:- Download the updated code from Bolt.
-
For web updates:
-
For mobile updates, rebuild and resubmit:
Monitor your app
Use Expo’s dashboard at expo.dev to:- View build status and logs.
- Monitor app crashes and errors.
- Track app usage and performance.
Adding in-app purchases to your Expo app
If you want users to pay for some of your app features, you need to add subscription and payment functionality. RevenueCat is a tool to power in-app purchases. They’ve provided a guide to adding RevenueCat to a Bolt Android app: How to add subscriptions to a Bolt-generated Expo app. You can also use RevenueCat in iOS apps.Troubleshooting
How to handle common issues, and where to get help with Expo.Common issues
Build fails: Check that all required certificates are set up in your Apple and Google Developer accounts. EAS can guide you through certificate setup. App crashes on device: Check the error logs in your Expo dashboard. Most crashes are due to missing dependencies or platform-specific code issues. Upload rejected: Make sure your app meets platform requirements (App Store guidelines for iOS, Google Play policies for Android).Get help
If you have issues with Expo:- Check the Expo documentation.
- Visit the Expo Discord community.
- Post questions in the Expo forums.
New to Expo
If you’re completely new to mobile app development, here’s what you need to know to use Expo with Bolt. Expo is a platform that simplifies mobile app development by handling the complex technical setup for you. Instead of learning platform-specific languages (Swift for iPhone, Kotlin for Android), you can build apps that work on both platforms using web technologies. Benefits of using Expo:- Cross-platform: write once, run on iPhone, Android, and web.
- Fast iteration: see changes immediately without rebuilding.
- Simplified publishing: EAS handles the complex build and submission process.
- Build: Creating the app file that can be installed on devices
- TestFlight: Apple’s system for testing iPhone apps before they go live
- Play Console: Google’s system for managing Android apps
- EAS Expo Application Services. This is the Expo cloud platform that builds and manages your apps.
- Expo documentation: comprehensive guides and API reference.
- Expo blog: latest updates and best practices.
- React Native basics: understand the underlying technology.