Skip to main content

Production Checklist

Run through this checklist before releasing your app with SwiftPatch. Every item matters.

SDK Configuration

  • Native credentials set (SwiftPatchAppId in Info.plist / strings.xml)
  • Debug mode disabled in production
  • withSwiftPatch wraps your root component

Native Setup

  • iOS: AppDelegate returns SwiftPatchModule.getBundleURL() in release mode
  • iOS: Debug mode uses Metro bundler (#if DEBUG)
  • iOS: pod install completed
  • 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 (--hermes flag)
  • 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.