// Copyright 2018-present 650 Industries. All rights reserved. #import #import @interface EXReactDelegateWrapper() @property (nonatomic, weak) id expoReactDelegate; @end @implementation EXReactDelegateWrapper - (instancetype)initWithExpoReactDelegate:(EXReactDelegate *)expoReactDelegate { if (self = [super init]) { // Cast to protocol - EXReactDelegate conforms to EXReactDelegateProtocol _expoReactDelegate = (id)expoReactDelegate; } return self; } - (UIView *)createReactRootView:(NSString *)moduleName initialProperties:(nullable NSDictionary *)initialProperties launchOptions:(nullable NSDictionary *)launchOptions { return [_expoReactDelegate createReactRootViewWithModuleName:moduleName initialProperties:initialProperties launchOptions:launchOptions]; } - (NSURL *)bundleURL { return [_expoReactDelegate bundleURL]; } - (UIViewController *)createRootViewController { return [_expoReactDelegate createRootViewController]; } @end