Latest 0.4
License MIT
Platforms ios 8.0, requires ARC
Dependencies libextobjc

AIMRemoteConfiguration allows you to define a list of colors used in the app in JSON file and fetch it from the internet. It works in an asynchronous way. The app starts normally, fetches all data in the background, and applies all styles on next start, so the user doesn’t see any loader at the beginning.


  • Add a category for UIColor:
    #import "RemoteConfiguration.h"

@implementation UIColor (list)

  • (UIColor *)backgroundColor {
    return [RemoteConfiguration colorWithName:@"background"]?: [UIColor whiteColor];

  • (UIColor *)textColor {
    return [RemoteConfiguration colorWithName:@"text"]?: [UIColor blackColor];


- Setup in `AppDelegate.m`
#import "AppDelegate.h"
#import "RemoteConfiguration.h"

@interface AppDelegate ()


@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [RemoteConfiguration setup];
    return YES;
  • Add theme.json file with default config for your app:
    "colors": {
        "background": "##d35400",
        "text": "#000000"
  • Add config to Info.plist:

    • themeFileName – name of default config without extension (theme in our example)
    • themeRemotePath – path to remote config ( in our example) remember about HTTPS
  • Use in the app, i.e:
#import "ViewController.h"
#import "UIColor+list.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UILabel *quotation;
@property (weak, nonatomic) IBOutlet UILabel *citation;

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor backgroundColor];
    self.quotation.textColor = [UIColor textColor];
    self.citation.textColor = [UIColor textColor];



Use the CocoaPods.

Add to your Podfile

pod 'AIMRemoteConfiguration'

and then call

pod install

and import

#import "RemoteConfiguration.h"


Check folder Example for a simple application with AIMRemoteConfiguration integrated.

Check the full video

Latest podspec

    "name": "AIMRemoteConfiguration",
    "version": "0.4",
    "summary": "Remote configuration for your app by",
    "homepage": "",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    "authors": {
        "Maciej Gad": ""
    "social_media_url": "",
    "platforms": {
        "ios": "8.0"
    "source": {
        "git": "",
        "tag": "v0.4"
    "source_files": "Sources/*.{h,m}",
    "requires_arc": true,
    "dependencies": {
        "libextobjc": []

Pin It on Pinterest

Share This