Your first update
You've completed Quickstart and wrapped your app with <SwiftPatchProvider>. Now let's ship a change.
1. Make a JS change
Edit any JavaScript file. For example, change a button color, update a string, or fix a typo. Anything JavaScript-only works. Native changes still require an app store release.
2. Deploy
swiftpatch deploy -p ios --hermes
For Android, swap -p ios with -p android. To deploy both:
swiftpatch deploy -p ios --hermes && swiftpatch deploy -p android --hermes
3. See it on-device
Launch your app. Within seconds:
- The SDK calls the check-for-update API with your device's current bundle hash.
- The API responds with a delta patch descriptor.
- The SDK downloads the patch, verifies it, applies it, and re-verifies the result.
- The built-in
<UpdateBanner>slides in: "New update available · v1.2.3 · Apply now | Later".
Tap Apply now — the app restarts on the new JS bundle. Typically fewer than 2 seconds end to end.
4. Check the dashboard
Open app.swiftpatch.io and find your release. You'll see:
- Release id, hash, size.
- Real-time adoption graph.
- Per-device download / apply status.
- Crash rate (zero so far, hopefully).
Iterate
That's the loop. Make a change → swiftpatch deploy → users get it within seconds. No App Store review. No TestFlight. No Play Store delay.
Next steps
- Staged rollouts — ship to 5% first, then 25%, then 100%.
- CI/CD — automate deploys from GitHub Actions.
- UI components — customize or replace the built-in banner.
- Error codes — know what to look for when things go wrong.