Production Checklist
Run through this checklist before releasing your app with SwiftPatch. Every item matters.
SDK Configuration
- Native credentials set (
SwiftPatchAppIdin Info.plist / strings.xml) - Debug mode disabled in production
-
withSwiftPatchwraps your root component
Native Setup
- iOS: AppDelegate returns
SwiftPatchModule.getBundleURL()in release mode - iOS: Debug mode uses Metro bundler (
#if DEBUG) - iOS:
pod installcompleted - Android: MainApplication returns
SwiftPatchModule.getJSBundleFile()in release mode - Android: ProGuard rules added (if using ProGuard/R8)
Testing
- Release build tested on physical iOS device
- Release build tested on physical Android device
- OTA update tested end-to-end (deploy, download, install, restart)
- Rollback tested -- verify auto-rollback on crash
- Offline behavior tested
- Differential patch verified -- second update downloads smaller patch
tip
Do not skip physical device testing. Simulators and emulators can hide real-world issues.
Security
- App ID in native config (not hardcoded in JavaScript)
- Bundle signing enabled (if required)
- Private key stored securely (not in version control)
- Public key configured in SDK (if using signing)
CI/CD
- SwiftPatch CLI installed in CI
- CI token created and stored as CI secret
- Deploy command configured with
--hermes - Both platforms covered
warning
Never hardcode tokens in your workflow files. Always use your CI platform's secrets management.
Monitoring
- Dashboard accessible to the team
- Error tracking integrated (Sentry, Bugsnag, etc.)
- Rollback alerts configured
- Team members have appropriate roles
Release Process
- Rollout strategy defined (start at 5-10%, then ramp)
- Rollback plan documented
- Target app version matches native binary exactly
- Hermes compilation enabled (
--hermesflag) - Working directory clean before deploying
Team
- Team knows how to deploy (
swiftpatch deploy) - Team knows how to rollback (dashboard or CLI)
- Team knows how to monitor rollouts (dashboard analytics)
info
Once everything is checked off, you are ready to go. Ship it.