Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
Official Expo AI agent skill for building and debugging Expo apps with a custom dev client.
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
SKILL.md
1---2name: expo-dev-client3description: Build and distribute Expo development clients locally or via TestFlight4version: 1.0.05license: MIT6---78Use EAS Build to create development clients for testing native code changes on physical devices. Use this for creating custom Expo Go clients for testing branches of your app.910## Important: When Development Clients Are Needed1112**Only create development clients when your app requires custom native code.** Most apps work fine in Expo Go.1314You need a dev client ONLY when using:15- Local Expo modules (custom native code)16- Apple targets (widgets, app clips, extensions)17- Third-party native modules not in Expo Go1819**Try Expo Go first** with `npx expo start`. If everything works, you don't need a dev client.2021## EAS Configuration2223Ensure `eas.json` has a development profile:2425```json26{27"cli": {28"version": ">= 16.0.1",29"appVersionSource": "remote"30},31"build": {32"production": {33"autoIncrement": true34},35"development": {36"autoIncrement": true,37"developmentClient": true38}39},40"submit": {41"production": {},42"development": {}43}44}45```4647Key settings:48- `developmentClient: true` - Bundles expo-dev-client for development builds49- `autoIncrement: true` - Automatically increments build numbers50- `appVersionSource: "remote"` - Uses EAS as the source of truth for version numbers5152## Building for TestFlight5354Build iOS dev client and submit to TestFlight in one command:5556```bash57eas build -p ios --profile development --submit58```5960This will:611. Build the development client in the cloud622. Automatically submit to App Store Connect633. Send you an email when the build is ready in TestFlight6465After receiving the TestFlight email:661. Download the build from TestFlight on your device672. Launch the app to see the expo-dev-client UI683. Connect to your local Metro bundler or scan a QR code6970## Building Locally7172Build a development client on your machine:7374```bash75# iOS (requires Xcode)76eas build -p ios --profile development --local7778# Android79eas build -p android --profile development --local80```8182Local builds output:83- iOS: `.ipa` file84- Android: `.apk` or `.aab` file8586## Installing Local Builds8788Install iOS build on simulator:8990```bash91# Find the .app in the .tar.gz output92tar -xzf build-*.tar.gz93xcrun simctl install booted ./path/to/App.app94```9596Install iOS build on device (requires signing):9798```bash99# Use Xcode Devices window or ideviceinstaller100ideviceinstaller -i build.ipa101```102103Install Android build:104105```bash106adb install build.apk107```108109## Building for Specific Platform110111```bash112# iOS only113eas build -p ios --profile development114115# Android only116eas build -p android --profile development117118# Both platforms119eas build --profile development120```121122## Checking Build Status123124```bash125# List recent builds126eas build:list127128# View build details129eas build:view130```131132## Using the Dev Client133134Once installed, the dev client provides:135- **Development server connection** - Enter your Metro bundler URL or scan QR136- **Build information** - View native build details137- **Launcher UI** - Switch between development servers138139Connect to local development:140141```bash142# Start Metro bundler143npx expo start --dev-client144145# Scan QR code with dev client or enter URL manually146```147148## Troubleshooting149150**Build fails with signing errors:**151```bash152eas credentials153```154155**Clear build cache:**156```bash157eas build -p ios --profile development --clear-cache158```159160**Check EAS CLI version:**161```bash162eas --version163eas update164```165