Update Native iOS Apps without the App Store. How is this Legit?

ophir | January 27, 2016

How can Rollout allow you to push code-level updates to live iOS apps and be fully compliant with Apple’s guidelines? Glad you asked.

Our lawyers asked me to let you know that this isn’t legal advice, but you don’t need a law degree to understand the wording in Apple’s official guidelines.

Apple’s guidelines explicitly permit you to push executable code directly to your app, bypassing the App Store, under these two conditions:

  1. The code is run by Apple’s built-in WebKit framework or JavascriptCore
  2. The code does not provide, unlock or enable additional features or functionality

With Rollout’s SDK you can update and modify your Objective-C methods with logic written in JavaScript so we’re good on the first condition.

On a side note, the ability for apps to update themselves without the App Store has been around for a quite a while, though only for apps created using JavaScript frameworks such as facebook’s React Native and services such as apphub.

Rollout is simply the first and only solution that provides the ability to push code-level updates to native Objective-C and Swift apps.

The second condition, no new features or functionality, is really up to you. Rollout isn’t intended to push new features or functionality. It is meant to tweak or fix them, avoiding the minor releases needed to fix bugs, add logging or tracking, update messages, force users to upgrade, etc. For new features or functionality you need to release through the app store.

FYI, Rollout’s SDK is installed on over 50 million iOS devices and there’s never been an app rejected because it uses Rollout. I’m just saying that because it’s good to know that thousands of other developers are using Rollout, so you’re not alone.

The relevant sections are here:
3.3.2 […] The only exception to the foregoing is scripts and code downloaded and run by Apple’s built-in WebKit framework or JavascriptCore […]

3.3.3 […] an Application may not provide, unlock or enable additional features or functionality through distribution mechanisms other than the App Store […]

In case you’re wondering how exactly Rollout lets you update your native Objective-C methods with JavaScript code, here’s a short video that shows how we do it:

 

  • jonathan

    It says “Rollout is simply the first and only solution that provides the ability to push code-level updates to native Objective-C apps. (Swift coming soon)”

    I think Swift is already supported, Does this old blog post?

  • jonathan

    It says “Rollout is simply the first and only solution that provides the ability to push code-level updates to native Objective-C apps. (Swift coming soon)”

    I think Swift is already supported, Does this old blog post?