Skip to main content
React Native and Expo apps built in development mode do not embed their JavaScript bundle. Instead, they load it at runtime from a Metro dev server running on your machine. TesterArmy test devices run in the cloud and cannot reach your local Metro server, so a dev-mode app cannot start.

How this failure looks

When a dev-mode build is uploaded, the app launches but immediately shows one of these screens instead of your app:
  • A red error screen with “No script URL provided”
  • “Could not connect to development server”
  • “Unable to load script. Make sure you’re either running Metro…”
  • The Expo dev launcher asking for a development server URL
When the agent detects this, the run fails with the step error code MOBILE_RELEASE_BUILD_REQUIRED and links to this page.

Why it happens

Development builds (Debug configuration on iOS, debug variant on Android, and Expo builds with expo-dev-client / developmentClient: true) expect a Metro dev server to serve the JavaScript bundle over the network. That works on your machine and simulator, but not on a remote test device. TesterArmy needs a self-contained build with the JavaScript bundle embedded in the app binary.

How to fix it

Build a release artifact and upload that instead.
Build a Release iOS Simulator app. For Expo / React Native projects, generate native files first if needed:
The -configuration Release flag is what embeds the JavaScript bundle. The simulator app bundle ends up under:

Expo EAS builds

If you build with EAS, make sure the build profile you upload from does not use a development client:
Avoid "developmentClient": true in the profile used for TesterArmy uploads - it produces an expo-dev-client build that opens the dev launcher instead of your app. See Expo EAS for the full CI workflow.

Verify before uploading

To check a build locally, install it on a simulator/emulator without Metro running (do not run npx expo start or npm start) and launch it. If the app opens normally, it is self-contained and ready to upload. See App Uploads for upload instructions.