iOS Installation
iOS Simulator
Simulator builds are the easiest to install for local development.1
Build for simulator
eas.json, ensure simulator is enabled:eas.json
2
Download the build
If using EAS Build:Download the
.tar.gz file from the build URL.3
Install on simulator
iOS Physical Devices
For testing on actual iPhones and iPads, you have several options.Option 1: TestFlight (Recommended for Teams)
1
Configure for TestFlight
eas.json
2
Build and submit
3
Invite testers
- Go to App Store Connect
- Select your app
- Go to TestFlight tab
- Add internal testers (up to 100)
- Testers receive an email invitation
4
Install via TestFlight app
Testers:
- Install TestFlight from App Store
- Accept invitation email
- Install the development build
Option 2: Ad-Hoc Distribution
For direct installation without TestFlight:1
Register devices
- Connect device to Mac
- Open Finder > Device > Click serial number
- Copy UDID
2
Build with registered devices
eas.json
3
Download and install
Download the Using iOS App Installer:
.ipa file and:Using Xcode:- Download iOS App Installer
- Open the
.ipafile - Select connected device
- Click Install
Option 3: Xcode Direct Install
For local development:iOS Development Certificates
For physical device installation, you need:- Apple Developer Account ($99/year for teams, free for personal)
- Development Certificate (automatic with Xcode)
- Provisioning Profile (automatic with EAS or Xcode)
Android Installation
Android Emulator
Emulator installation is straightforward.1
Start an emulator
2
Build and install
Android Physical Devices
Android allows direct APK installation without app store distribution.Option 1: Direct APK Installation (Recommended)
1
Enable developer options
On your Android device:
- Go to Settings > About Phone
- Tap “Build Number” 7 times
- Go back to Settings > System > Developer Options
- Enable “USB Debugging”
2
Build APK
eas.json
3
Install via USB
Option 2: Download from URL
Share APKs via URL:1
Get build URL
2
Install on device
On the Android device:
- Open the URL in a browser
- Download the APK
- Tap the downloaded file
- Allow installation from unknown sources if prompted
- Tap “Install”
Option 3: Internal Distribution
For team distribution:1
Build AAB for Play Console
eas.json
2
Upload to Play Console
- Go to Google Play Console
- Select your app
- Go to Testing > Internal Testing
- Upload the AAB file
- Add testers via email
Android Signing
Debug builds use automatic debug keystore:Installation via Development Server
Once installed, load JavaScript from the dev server.QR Code Method
1
Start dev server
2
Scan QR code
Open your development build and:
- iOS: Use camera app or dev client scanner
- Android: Use dev client scanner
Manual URL Entry
- Tap “Enter URL manually”
- Enter:
exp://YOUR-IP:8081 - Tap “Connect”
LAN Connection
For local network development:- Device and computer on same network
- Firewall allows port 8081
- No VPN interfering with local network
Troubleshooting
iOS: App Won’t Install
“Unable to Install App”iOS: Untrusted Developer
On device:- Go to Settings > General > VPN & Device Management
- Select your developer certificate
- Tap “Trust”
Android: Installation Blocked
“Install blocked for security”- Go to Settings > Apps > Special Access
- Select “Install unknown apps”
- Enable for your browser or file manager
Android: ADB Not Found
Can’t Connect to Dev Server
- Check firewall: Allow port 8081
- Try tunnel mode:
npx expo start --tunnel - Verify same network: Device and computer on same WiFi
- Check URL: Should be
exp://IP:8081nothttp://
Build Expires (iOS TestFlight)
TestFlight builds expire after 90 days:Managing Multiple Builds
Build Channels
Test different versions simultaneously:eas.json
Build Versions
Track builds with version numbers:app.json
eas.json
Next Steps
Start Debugging
Learn how to debug your development build
Dev Tools
Explore the dev tools and inspector
Testing
Set up automated testing
Error Handling
Handle errors in development