Device Testing
Nothing beats tapping through your app on a real phone. The web preview is great for a quick glance, but the device view is the truth — real fonts, real gestures, real performance. AppX makes it a QR scan away.
Install Expo Go
Expo Go is the free app that runs your AppX preview on your phone:
- iOS — App Store
- Android — Google Play
AppX builds on Expo SDK 54, so use a recent version of Expo Go.
Connect for the First Time
- Open your project in AppX.
- Wait for the app to be ready (the status indicator in the workspace).
- Scan the QR code in the preview panel:
- iOS — open Expo Go, tap Scan QR Code.
- Android — open Expo Go, tap the scan icon.
The app bundles and loads — the first load takes a few seconds while it downloads the JavaScript bundle. After that, it's instant.
Staying Connected with Fast Refresh
Once connected, your phone stays linked to your project. Every edit you apply in AppX pushes to your device automatically via Fast Refresh — no re‑scanning.
Fast Refresh keeps your navigation state, so if you're deep in the app when a change lands, you stay right where you were.
If a change doesn't appear, shake your phone to open the Expo Go developer menu and tap Reload.
Test on Multiple Phones at Once
Scan the same QR code from more than one device to test iOS and Android together — or to run a live demo for a client. Every connected phone updates at the same time.
The Expo Go Developer Menu
Shake your phone in Expo Go to open it:
| Option | Use |
|---|---|
| Reload | Reload the whole app bundle |
| Toggle Inspector | Tap any element to inspect its styles |
| Toggle Performance Monitor | FPS and memory overlay |
| Disable Fast Refresh | Useful when debugging reload‑specific issues |
iOS vs Android: What to Watch
React Native apps can look and behave a little differently across platforms. Common spots:
Layout — status‑bar height and safe areas differ. AppX wraps screens in SafeAreaView so content clears the notch and home indicator.
Navigation — Android has a hardware/gesture back; iOS uses swipe‑back. The generated navigation handles both.
Typography — iOS defaults to San Francisco, Android to Roboto. AppX apps use custom fonts via expo-font for a consistent look.
Shadows — iOS uses shadow properties, Android uses elevation. Ask for a shadow and AppX adds both.
If something only looks wrong on one platform, just describe it in chat and the AI will fix the platform‑specific issue.
Troubleshooting
"Something went wrong" on load
- Usually a JavaScript error. AppX often surfaces it in the chat.
- Read the on‑screen message — it names the file and line.
- Paste it into chat: "Home shows 'cannot read property of undefined' on line 42 — fix it."
QR scans but the app won't load
- Confirm the app is running (status indicator in AppX).
- If it was asleep, give it a few seconds to wake, then try again.
- Use the manual route: tap Copy Link by the QR code, then paste the URL into Expo Go.
Looks different from the web preview
- Expected — the web preview is an approximation and the device is the truth. If something's off on device, describe it in chat.
"SDK version mismatch"
- Your Expo Go is outdated. Update it from the App Store / Google Play.
Works on iOS, crashes on Android (or vice versa)
- Share the details in chat and AppX will diagnose the platform‑specific cause:
"Crashes on Android when I open the Profile screen — works on iOS.
The error says: ..."
Janky animations or slow scrolling
- Often a heavy list or scroll handler. Describe what's slow in chat and ask for a performance pass.
No Phone Handy?
- Web preview — approximate, but fine for quick layout checks.
- iOS Simulator / Android Emulator — export your project as a ZIP (paid plans) and run
npx expo startlocally. Real hardware is still the final word before you publish.