Testing Methods
Development Server
Fastest iteration with hot reloading
Local Production Build
Most similar to TestFlight builds
iOS Simulator
No physical device needed
Preview Builds
Internal distribution builds
Method 1: Development Server (Fastest)
Benefits
- ⚡ Fastest iteration
- 🔄 Hot reloading
- 🐛 Easy debugging with React DevTools
- 📱 Works with Expo Go
Limitations
- Not production-like environment
- Some native features may not work in Expo Go
Method 2: Local Production Builds (Recommended for TestFlight Debugging)
Benefits
- 🎯 Most similar to TestFlight builds
- 🔧 Production optimizations enabled
- 📦 Same bundle as TestFlight
- ⚡ Faster than cloud builds
Installing Local Builds
iOS:- Open the generated
.appfile in Xcode - Connect your iOS device
- Select your device in Xcode
- Click “Run” to install
Method 3: iOS Simulator
Prerequisites
- Install Xcode from App Store
- Install Command Line Tools:
xcode-select --install
Running on Simulator
Benefits
- 🖥️ No physical device needed
- 🔄 Fast iteration
- 🐛 Full debugging capabilities
Method 4: Preview Builds (EAS)
Benefits
- 📱 Install without App Store
- 🔗 Shareable via TestFlight or direct download
- 🎯 Good for team testing
Debugging TestFlight Issues
Step-by-Step Workflow
1
Identify the Issue
Check TestFlight crash logs for specific error messages. Note iOS version and device type.
2
Reproduce Locally
3
Test on Physical Device
Install the local build on the same device type as the failing report.
4
Compare Environments
- Development vs Production builds
- Different iOS versions
- Different device types
Common Issues & Solutions
Code Signing Issues
Code Signing Issues
Bundle Size Issues
Bundle Size Issues
Environment Variable Issues
Environment Variable Issues
Native Module Issues
Native Module Issues
Disk Space Issues (ENOSPC)
Disk Space Issues (ENOSPC)
Quick Commands Reference
Development
Local Production Builds
Cloud Builds
Debugging
Troubleshooting Checklist
Before Building
- Run
npm run check-all(no errors) - Check environment variables are set
- Verify all dependencies are installed
- Test in development mode first
During Build
- Monitor build logs for errors
- Check for missing certificates
- Verify bundle identifier matches
- Ensure version numbers are correct
After Build
- Test on physical device
- Check crash logs
- Verify all features work
- Test with different user accounts
Recommended Testing Strategy
1
Start with Development
2
Test Core Features
Ensure basic functionality works in development.
3
Build Locally
4
Test on Device
Install and test the local build.
5
Compare with TestFlight
Identify differences between local and TestFlight builds.
6
Fix and Repeat
Make changes, rebuild, and test again.