Years ago at Togethera we built and open sourced our deprecation framework for iOS. It provided a way to remotely deprecate old versions of an app. Deprecator supported hard and soft deprecations.
Soft deprecations can be used to just let the user know that the latest version of the app has some new awesome feature and hard deprecations are used to force the user to upgrade. It's not good practice, but it is useful to have as a backup incase of something going badly wrong.
The framework was left untouched and didn't work with any new versions of Swift so I have now brought it back to life! You can find it on Github.