1 // Copyright 2018-present 650 Industries. All rights reserved. 2 3 #import <Foundation/Foundation.h> 4 #import <UMAppLoader/UMAppLoaderInterface.h> 5 6 #define UM_REGISTER_APP_LOADER_WITH_CUSTOM_LOAD(loader_name, _custom_load_code) \ 7 extern void UMRegisterAppLoader(NSString *, Class); \ 8 + (void)load { \ 9 UMRegisterAppLoader(@#loader_name, self); \ 10 _custom_load_code \ 11 } 12 13 #define UM_REGISTER_APP_LOADER(loader_name) \ 14 UM_REGISTER_APP_LOADER_WITH_CUSTOM_LOAD(loader_name,) 15 16 @interface UMAppLoaderProvider : NSObject 17 18 - (nullable id<UMAppLoaderInterface>)createAppLoader:(nonnull NSString *)loaderName; 19 20 + (nonnull instancetype)sharedInstance; 21 22 @end 23