@@ -305,7 +305,7 @@ - (void)start
305305
306306 [self registerExtraModules ];
307307 // Initialize all native modules that cannot be loaded lazily
308- [self _initModules :RCTGetModuleClasses () withDispatchGroup: prepareBridge lazilyDiscovered: NO ];
308+ ( void ) [self _initializeModules :RCTGetModuleClasses () withDispatchGroup: prepareBridge lazilyDiscovered: NO ];
309309
310310 [_performanceLogger markStopForTag: RCTPLNativeModuleInit];
311311
@@ -635,9 +635,9 @@ - (void)installExtraJSBinding
635635 }
636636}
637637
638- - (void ) _initModules : (NSArray <id<RCTBridgeModule>> *)modules
639- withDispatchGroup : (dispatch_group_t )dispatchGroup
640- lazilyDiscovered : (BOOL )lazilyDiscovered
638+ - (NSArray <RCTModuleData *> *) _initializeModules : (NSArray <id<RCTBridgeModule>> *)modules
639+ withDispatchGroup : (dispatch_group_t )dispatchGroup
640+ lazilyDiscovered : (BOOL )lazilyDiscovered
641641{
642642 RCTAssert (!(RCTIsMainQueue () && lazilyDiscovered), @" Lazy discovery can only happen off the Main Queue" );
643643
@@ -688,11 +688,15 @@ - (void)_initModules:(NSArray<id<RCTBridgeModule>> *)modules
688688 RCTProfileHookModules (self);
689689 }
690690#endif
691+ return moduleDataById;
691692}
692693
693694- (void )registerAdditionalModuleClasses : (NSArray <Class> *)modules
694695{
695- [self _initModules: modules withDispatchGroup: NULL lazilyDiscovered: YES ];
696+ NSArray <RCTModuleData *> *newModules = [self _initializeModules: modules withDispatchGroup: NULL lazilyDiscovered: YES ];
697+ if (_reactInstance) {
698+ _reactInstance->getModuleRegistry ().registerModules (createNativeModules (newModules, self, _reactInstance));
699+ }
696700}
697701
698702- (void )_prepareModulesWithDispatchGroup : (dispatch_group_t )dispatchGroup
0 commit comments