diff --git a/packages/react-native/React/Base/RCTBridge.mm b/packages/react-native/React/Base/RCTBridge.mm index f3fc0d2dee1..b1a91a894d9 100644 --- a/packages/react-native/React/Base/RCTBridge.mm +++ b/packages/react-native/React/Base/RCTBridge.mm @@ -120,63 +120,6 @@ static void RCTEnsureModuleClassesInitialized(void) dispatch_queue_create("com.facebook.react.ModuleClassesSyncQueue", DISPATCH_QUEUE_CONCURRENT); }); } - -/** - * Checks for unregistered modules that conform to RCTBridgeModule protocol. - * This detects misconfiguration where external modules are compiled with - * RCT_MODULE_NO_SELF_LOAD=1 but aren't in the moduleClassNames list. - */ -static void RCTCheckForUnregisteredModules(NSArray *registeredClasses) -{ - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - NSMutableSet *registeredSet = [NSMutableSet setWithArray:registeredClasses]; - - // Get all loaded classes - int numClasses = objc_getClassList(NULL, 0); - if (numClasses <= 0) { - return; - } - - Class *classes = (Class *)malloc(sizeof(Class) * numClasses); - numClasses = objc_getClassList(classes, numClasses); - - NSMutableArray *unregisteredModules = [NSMutableArray new]; - - // Check each class that conforms to RCTBridgeModule - for (int i = 0; i < numClasses; i++) { - Class cls = classes[i]; - - // Skip if already registered - if ([registeredSet containsObject:cls]) { - continue; - } - - // Check if class conforms to RCTBridgeModule protocol - if (class_conformsToProtocol(cls, @protocol(RCTBridgeModule))) { - // Skip if it's a core module that will be added - NSString *className = NSStringFromClass(cls); - if ([moduleClassNames containsObject:className]) { - continue; - } - - [unregisteredModules addObject:className]; - } - } - - free(classes); - - // Log warning if unregistered modules found - if ([unregisteredModules count] > 0) { - RCTLogWarn(@"⚠️ Detected unregistered RCTBridgeModule classes: %@\n" - @"These modules may have been compiled with RCT_MODULE_NO_SELF_LOAD=1 " - @"but are not in the core moduleClassNames list.\n" - @"To fix: Either compile all modules with RCT_MODULE_NO_SELF_LOAD=0, " - @"or add external modules to moduleClassNames in RCTBridge.mm", - [unregisteredModules componentsJoinedByString:@", "]); - } - }); -} // macOS] NSArray *RCTGetModuleClasses(void) @@ -201,9 +144,6 @@ static void RCTCheckForUnregisteredModules(NSArray *registeredClasses) NSArray *finalResult = [result copy]; - // Check for misconfigured external modules - RCTCheckForUnregisteredModules(finalResult); - return finalResult; #else // macOS] @@ -212,11 +152,6 @@ static void RCTCheckForUnregisteredModules(NSArray *registeredClasses) result = [RCTModuleClasses copy]; }); - // [macOS - // Check for misconfigured external modules - RCTCheckForUnregisteredModules(result); - // macOS] - return result; // [macOS #endif //RCT_MODULE_NO_SELF_LOAD