Skip to main content
For the local dev loop, generate a dev build using the Debug configuration. For automated testing or CI, use a release-like build once you’re ready.

Build Guidance

To use the Dev Loop, a build is required only on native code changes (new native modules, Podfile/Gradle changes, build configuration). JS/TS changes hot reload via Metro — see Dev Loop: Hot reload and rebuild configuration for the full breakdown.

Build via Revyl CLI

Prerequisites

  • Node.js 18+
  • Expo CLI (npx expo)
  • EAS CLI (npx eas-cli) for local or cloud builds
  • Revyl CLI installed and authenticated (revyl auth login)

Setup

Initialize the project using the Revyl CLI:
This detects React Native and writes named profiles with the applicable iOS and Android recipes. Review or fill in the app IDs, commands, and output paths before the first build. See Types of Builds for more information. Development builds power the dev loop. Preview builds are for testing and starting sessions when the Metro server isn’t needed.

Run Build

Run one profile/platform recipe locally:
Add --remote to execute that exact recipe on a Revyl cloud runner:
Profile names and their ios or android recipes live under build.profiles in .revyl/config.yaml. There is no active/default profile. See Configuration for selection and recipe fields. This command automatically builds and uploads the app to Revyl, where you can use it to start sessions.

Advanced Configuration

Revyl makes a best effort to determine the build commands to be used. If the build does not complete successfully modify the build commands manually in the config.yaml file.

Troubleshooting

Simulator builds don’t require an Apple distribution certificate or provisioning profile. Let Xcode apply its default local signature so the app retains entitlements used by services such as Keychain. Don’t set Code Signing Identity to “Don’t Code Sign” or pass CODE_SIGNING_ALLOWED=NO.Missing dependencies:
Gradle fails:
Assets missing: