#import "MGLNetworkConfiguration.h" @implementation MGLNetworkConfiguration + (instancetype)sharedManager { static dispatch_once_t onceToken; static MGLNetworkConfiguration *_sharedManager; void (^setupBlock)(void) = ^{ dispatch_once(&onceToken, ^{ _sharedManager = [[self alloc] init]; }); }; if (![[NSThread currentThread] isMainThread]) { dispatch_sync(dispatch_get_main_queue(), ^{ setupBlock(); }); } else { setupBlock(); } return _sharedManager; } @end