/ManUp

A server side check of the app version and configuration options for your iOS app.

Primary LanguageObjective-CApache License 2.0Apache-2.0

ManUp

Build Status Version License Platform

Adds a server side check for a mandatory app update and server-side configuration options to your iOS/tvOS application.

Useful things you can do with ManUp:

  • Prevent users from using the app during server-side maintenance 🚧
  • Remotely disable your app (killswitch) 🛑
  • Disable specific features in the app from the server 🙅‍♂️
  • Recommend (or require) that users update to a specific version or higher ⏬

Installation

The preferred method is via CocoaPods:

pod 'ManUp'

Usage

ManUp will download a ManUp configuration file (json) that is hosted on a server of your choice. This file will have the current app store version, the minimum version, and a URL to the app store or app website.

{
    "ios": {
        "url": "https://itunes.apple.com/app/id0000000?mt=8",
        "latest": "2.0",
        "minimum": "1.1",
        "enabled": true
    }
}

Running ManUp will download this file and compare it to the installed app's version to determine if there is an update available (latest), or if there is a mandatory update required (minimum).

Swift

import ManUp

// keep a strong reference
let manUp = ManUp()

// typically in applicationDidBecomeActive
self.manUp.configURL = URL(string: "https://clientfiles.nextfaze.com/eva/maintenanceMode.json")
self.manUp.delegate = nil
self.manUp.validate()

Objective-C

#import <ManUp/ManUp.h>

// keep a strong reference
@property (nonatomic, strong) ManUp *manUp;

self.manUp = [[ManUp alloc] initWithConfigURL:[NSURL URLWithString:@"https://yourserver.com/config.json"] delegate:self];
[self.manUp validate];

You can also add any keys and values to the json file, which will be accessible like so:

id value = [self.manUp settingForKey:"key"];