How Rollout Works

Rollout lets you push code-level changes to native iOS apps, without waiting on the App Store. You can fix bugs, update configuration data, patch security holes or diagnose issues without having to go through the app store review process.

For technical details on how Rollout works, checkout Rollout under the hood.
For security related details, checkout our security page

Rollout Integration

  • Add our SDK
    Step 1

    Add the SDK

    Install the SDK in 5 minutes.
    No need to change any existing code.

  • Rollout analyzes your code
    Step 2

    Rollout analyzes your code

    During compilation, Rollout does a code-level analysis of your app, automatically identifying your app’s methods and then transfers the information to our backend.

  • Deploy your app
    Step 3

    Deploy your App

    Release your app with the Rollout SDK and you’re ready to go! Now, you can patch your app instantly, whenever you need it.

Live Patching Apps In Production

  • Create the patch in our interface
    Step 1

    Create the patch in our interface

    Write your own custom patch code in JavaScript. Your patch can override any existing method in your Obj-C or Swift app and fully interact with your existing code or data.

  • Rollout pushes the patch to the cloud
    Step 2

    Rollout pushes the patch to the cloud

    The patch file is signed for security, using our 2048 bit RSA encryption, then it’s uploaded to the cloud over a secure connection.

  • The app fetches the update
    Step 3

    The app fetches the update

    Every time your app starts or enters foreground, the patch file is fetched automatically from Rollout, without the user needing to take action.

  • The patch is activated
    Step 4

    The patch is activated

    The SDK replaces the original method with the patched version. Your app is updated — without having to wait on the app store!





Frequently Asked Questions

 

Does Rollout comply to Apple’s Guidelines?
Yes. As per Apple’s official guidelines, Rollout.io does NOT alter binaries. Rollout uses JavascriptCore to add logic to your patches. For more details, check out how Rollout is compliant with App Store guidelines.
With over 50 million devices already running our SDK, it is safe to say that Rollout complies with with Apple’s development and App Store guidelines.
Will Rollout impact my app’s performance?
No. We built Rollout with performance in mind, taking extra precautions to make sure there aren’t any performance penalties. The Rollout SDK is asynchronous, so there’s no impact to startup performance. And when you apply a patch to a certain function, we only change the runtime (Swizzle) of that specific function. As far as file sizes go, the overall app size increase won’t be more than 1-2 MB in most cases, and we’re constantly working to reduce the footprint of our SDK.
What languages does Rollout support?
Rollout supports native apps written in Objective-C and/or Swift.
Will Rollout affect my app’s normal networking requests?
No. While your app is in production, Rollout only makes one request for every time your application is launched or goes into foreground. And the data that’s retrieved is small, about 1 KB.
Will Rollout compromise my app’s security?
No. Rollout has been designed and built from the ground-up to follow strict security guidelines. All communication is SSL-encrypted, and app updates are signed using 2048-bit RSA keys (private and public). You can also remotely disable the SDK from your own code. The SDK doesn’t change your app’s runtime unless you’ve added a patch to a method. Even then, only that specific method’s runtime is changed.

And we have more security features in the pipeline, including two-factor authentication and audit logs. For more info, check out our security page.