Skip to main content

Frequently Asked Questions

General

What is SwiftPatch?

SwiftPatch is an OTA (over-the-air) deployment platform for React Native. It lets you push JavaScript bundle updates directly to your users' devices -- no app store review, no waiting.

Which platforms are supported?

iOS and Android.

What can I update with OTA?

You can update:

  • JavaScript code
  • Images and assets bundled with JS
  • JSON configuration files

You cannot update:

  • Native modules (Objective-C, Swift, Java, Kotlin)
  • Native dependencies (CocoaPods for iOS, Gradle for Android)
  • App icons, splash screens, or other native resources
  • The React Native version itself
tip

A good rule of thumb: if it is written in JavaScript, you can update it OTA. If it requires pod install or a Gradle sync, you need an app store update.

Is SwiftPatch a CodePush replacement?

Yes. SwiftPatch is a modern alternative to Microsoft CodePush, which has been retired with AppCenter. See the Migration Guide.

Does SwiftPatch comply with App Store guidelines?

Yes. Both Apple and Google allow over-the-air JavaScript updates as long as they do not change the app's primary purpose. SwiftPatch only updates the JavaScript bundle, which is explicitly allowed.

Technical

How large are updates?

SwiftPatch uses differential patching. Updates are typically 98% smaller than the full bundle -- a typical patch is 50KB-500KB.

How fast are updates delivered?

Most updates download in under 1 second on a good connection. The patch applies locally in milliseconds.

What happens if an update crashes the app?

SwiftPatch has built-in crash detection. If the app crashes after an update, it automatically rolls back to the previous working version on the next launch. No user action needed.

Does SwiftPatch work offline?

Yes. The app runs with its current bundle when offline. Updates are checked when connectivity returns.

Can I target specific app versions?

Yes. Each release can specify a target binary version range using semver (e.g., >=1.0.0 <2.0.0 targets all 1.x versions).

How does bundle signing work?

Bundle signing uses RSA key pairs to verify updates come from an authorized source. The CLI signs bundles with your private key, and the SDK verifies them with your public key. See Bundle Signing.

Billing

What plans are available?

PlanPriceMAUApps
Free$0/mo5,0002
Indie$19/mo25,0005
Team$79/mo200,00015
Business$249/mo750,00050
EnterpriseCustomUnlimitedUnlimited

See Limits for a full comparison.

Is there a free plan?

Yes. The Free plan includes 2 apps, 5,000 MAU, 3 team members, and 1 GB of storage. No credit card required.

What counts as MAU?

A monthly active user (MAU) is any unique device that checks for or downloads a deploy within a billing cycle.

What happens if I exceed my plan limits?

You receive a warning email at 80% of your MAU quota. At 100%, new deploy checks return "up to date" until the next billing cycle or until you upgrade. Existing installs continue to work normally.

Support

How do I get help?