The Complete Guide: Migrating from CodePush to AppSpacer
April 14, 2026
If you’re reading this, you’re likely ready to move away from CodePush and onto a more modern, open-source platform. The good news is that we’ve made the migration path as frictionless as possible.
This guide will show you how to swap your SDK, update your CLI commands, and re-configure your native files in minutes.
1. SDK Replacement
First, swap the packages in your package.json.
# Remove CodePush
npm uninstall react-native-code-push
cd ios && pod install && cd ..
# Install AppSpacer
npm install react-native-appspacer
cd ios && pod install && cd ..2. Code Mapping
AppSpacer’s API is designed to be familiar. Here is the mapping for the most common operations:
| Action | CodePush (Legacy) | AppSpacer (Modern) |
|---|---|---|
| HOC | codePush(options)(App) | withAppSpacer(options)(App) |
| Check for Update | codePush.checkForUpdate() | useAppSpacerUpdate().checkForUpdate() |
| Sync | codePush.sync() | useAppSpacerUpdate().downloadUpdate() |
| Deployment Key | deploymentKey | deploymentKey |
Example Before & After
Before (CodePush):
import codePush from "react-native-code-push";
const App = () => { /* ... */ };
export default codePush({
checkFrequency: codePush.CheckFrequency.ON_APP_RESUME,
installMode: codePush.InstallMode.IMMEDIATE,
})(App);After (AppSpacer):
import { withAppSpacer, UpdateUIType } from "react-native-appspacer";
const App = () => { /* ... */ };
export default withAppSpacer({
deploymentKey: "YOUR_KEY",
updateDialog: true,
updateUI: UpdateUIType.GLASS, // Add a premium theme!
})(App);3. CLI Command Mapping
The appspacer-cli provides a consistent experience across all platforms.
| Action | code-push-cli | appspacer-cli |
|---|---|---|
| Login | code-push login | appspacer login |
| Release | code-push release-react | appspacer release-react-native |
| History | code-push deployment history | appspacer deployments |
| Key | code-push deployment ls -k | appspacer deployment-keys |
4. Native Re-configuration
This is where AppSpacer really shines. Instead of manually digging through AppDelegate and MainApplication to remove the old CodePush links and add new ones, just run:
npx appspacer setupThe CLI will:
- Detect your current native file state.
- Identify your React Native architecture (Traditional vs New Architecture).
- Inject the correct bundle resolution code.
- Clean up any conflicting configurations.
5. Deployment Keys
Head over to your AppSpacer dashboard to create a new app and generate your Staging and Production deployment keys. Replace the old CodePush keys in your environment variables or wherever you store them.
Summary
Migrating to AppSpacer doesn’t just give you a working OTA service—it gives you a better one. With premium UI themes, automatic crash rollbacks, and full control over your infrastructure, you’re making a long-term investment in your app’s stability.
Need help? Join our Discord community or check out the Full SDK Reference.