diff --git a/packages/react-native/Libraries/AppDelegate/RCTReactNativeFactory.mm b/packages/react-native/Libraries/AppDelegate/RCTReactNativeFactory.mm index 3e17b5d6ca1..9d5a45787af 100644 --- a/packages/react-native/Libraries/AppDelegate/RCTReactNativeFactory.mm +++ b/packages/react-native/Libraries/AppDelegate/RCTReactNativeFactory.mm @@ -146,6 +146,12 @@ using namespace facebook::react; #if RN_DISABLE_OSS_PLUGIN_HEADER return RCTTurboModulePluginClassProvider(name); #else + if ([_delegate respondsToSelector:@selector(getModuleClassFromName:)]) { + Class moduleClass = [_delegate getModuleClassFromName:name]; + if (moduleClass != nil) { + return moduleClass; + } + } return RCTCoreModulesClassProvider(name); #endif } @@ -176,7 +182,12 @@ using namespace facebook::react; format:@"Delegate must provide a valid dependencyProvider"]; } #endif - + if ([_delegate respondsToSelector:@selector(getModuleInstanceFromClass:)]) { + id moduleInstance = [_delegate getModuleInstanceFromClass:moduleClass]; + if (moduleInstance != nil) { + return moduleInstance; + } + } return RCTAppSetupDefaultModuleFromClass(moduleClass, self.delegate.dependencyProvider); }