Release from the CLI
Build the matching platform bundle, upload it directly, and activate one canonical release.
Ship React Native updates while the fix still matters.
Hosted over-the-air delivery for bare React Native and Expo prebuild projects. Release from your terminal, roll out gradually, and recover without waiting for app review.
Expand when the first cohort looks healthy.
npx bettercodepush deploy --platform ios --channel production --rollout 10release activeBetterCodePush handles the release path around your JavaScript bundle while your native binary remains the trust anchor.
Build the matching platform bundle, upload it directly, and activate one canonical release.
SHA-256 integrity checks are always enforced. Add RSA signatures when your app is ready for them.
Start with a device cohort, watch adoption, and expand without rebuilding the native application.
Disable one release or roll a channel back while retaining a complete audit trail.
Select your project type to see the exact production setup. Signing can be added now or later.
Keep the release tooling local to your project so every developer and CI run uses the same version.
npm install --save-dev @bettercodepush/cliCreate an organization, one app per native platform, and a Live API key in the hosted console.
Open the production consoleThe initializer installs the right build integration and writes the platform app IDs into your native projects.
npx bettercodepush init --build exponpx expo prebuild --cleanShip a new native build once, then deliver signed JavaScript updates to matching app versions.
npx bettercodepush doctornpx bettercodepush deploy --platform ios --target-app-version 1.0.0 --channel productionYour private key stays in your release environment. Only the public key is embedded into each native app.
npx bettercodepush keys generateBetterCodePush changes how your native app resolves its JavaScript bundle. That gives it a dependable recovery path, and it means a real native build is required.
Read the complete setup guideFor command flags and troubleshooting, the CLI package is the canonical customer guide.
Yes. Expo SDK 52 and newer are supported through prebuild/CNG, including native binaries built with EAS Build. Expo Go and expo-updates/EAS Update are not supported because BetterCodePush owns the native bundle loading path.
Create an organization, add your native apps, and make the first deployment from your existing project.
Start with BetterCodePush No billing setup required during the beta.