Update: Rollout has responded with a statement.
Apple today has started informing developers that use “hot code push” SDKs that it will soon start rejecting their applications. In a thread on the Apple Developer Forums, developers are reporting that they have started receiving messages from the company explaining that the code must be removed before any further updates will be approved.
While Apple has yet to publicly comment on the change, the email sent to affected developers seems to imply that services like Rollout.io are the cause. The email reads:
“Your app, extension, and/or linked framework appears to contain code designed explicitly with the capability to change your app’s behavior or functionality after App Review approval, which is not in compliance with section 3.3.2 of the Apple Developer Program License Agreement and App Store Review Guideline 2.5.2.
This code, combined with a remote resource, can facilitate significant changes to your app’s behavior compared to when it was initially reviewed for the App Store.”
For those unfamiliar, hot code push services like Rollout allow developers to update their applications after they have been submitted to the App Store and approved. Here’s how Rollout describes itself:
Rollout’s revolutionary SDK lets you react to production issues or modify your app in real time. And you don’t need to modify any existing code in advance. Whether it’s a bug you just discovered, a feature you want to toggle, or something else, you can use Rollout to modify any method or data in your app, instantly.
It really shouldn’t come as too big of a surprise that Apple is starting to crack down on these type of SDKs. Seeing that they allow changes to be made to an app after App Store review, it’s really a miracle that they have lasted so long in Apple’s generally rather restricted ecosystem. Whether or not this is a good policy on Apple’s part, though, is up for debate.
Specific information about Apple’s new policy on hot code push services like Rollout is unclear at this point. The way the email makes it seem, though, is that if developers want to be able to push official updates through the App Store, the Rollout code has to be removed or else the update will be rejected.