From 393bdcca55be01e0b8694c0ec37ce586f55d68bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Ma=C5=82ecki?= Date: Tue, 13 Oct 2026 01:41:02 -0700 Subject: [PATCH 1/2] Reach public modules through umbrellas from for-frameworks headers Summary: Several "for frameworks" headers included fine-grained headers of public modules directly. A framework author includes a for-frameworks header directly, outside any umbrella, so under `RN_STRICT_API` those includes hit the public module's `UmbrellaGuard.h` `#error`, which `RN_ALLOW_FRAMEWORKS` does not suppress. Switch them to the module umbrellas: - Image component (`ImageComponentDescriptor.h`, `ImageEventEmitter.h`, `ImageProps.h`, `ImageShadowNode.h`, `ImageState.h`): ``, ``, ``, ``. - `ComponentDescriptorFactory.h`: ``, ``, ``. - `react/renderer/core` `DynamicEventPayload.h`, `DynamicPointerEvent.h`, `DynamicPropsUtilities.h`, `ReactRootViewTagGenerator.h`: ``. - `DefaultTurboModules.h`: ``. - iOS/macOS `RCTInstance.h` and `RCTContextContainerHandling.h`: ``, ``. `ImageProps.h` now reaches the image manager through ``, which also pulls in the platform-specific `ImageRequestParams.h`. `LayoutAnimationKeyFrameManager.cpp` included `ImageProps.h` without using it; that build unit cannot see the platform image manager headers in the Swift Package Manager and CocoaPods `React-Fabric` targets, so the unused include is removed. Includes of for-frameworks headers in the same module stay direct, since umbrellas do not re-export them. The `react/renderer/core` headers and `ComponentDescriptorFactory.h` now include their own module's umbrella, so the CMake `react_renderer_core` and `react_renderer_componentregistry` targets expose their umbrella directory as `PUBLIC` instead of `INTERFACE`: core's own sources (`EventEmitter.cpp`, `Props.cpp`, `ShadowNode.cpp`, ...) include these headers and must resolve `` too. Each umbrella is a superset of the headers it replaces, so no declarations are lost. The guards are inert without `RN_STRICT_API`. Changelog: [Internal] Differential Revision: D124320010 --- .../react/nativemodule/defaults/DefaultTurboModules.h | 2 +- .../animations/LayoutAnimationKeyFrameManager.cpp | 1 - .../react/renderer/componentregistry/CMakeLists.txt | 2 +- .../componentregistry/ComponentDescriptorFactory.h | 7 +++---- .../renderer/components/image/ImageComponentDescriptor.h | 2 +- .../react/renderer/components/image/ImageEventEmitter.h | 4 ++-- .../react/renderer/components/image/ImageProps.h | 8 ++++---- .../react/renderer/components/image/ImageShadowNode.h | 7 +++---- .../react/renderer/components/image/ImageState.h | 4 +--- .../ReactCommon/react/renderer/core/CMakeLists.txt | 2 +- .../ReactCommon/react/renderer/core/DynamicEventPayload.h | 2 +- .../ReactCommon/react/renderer/core/DynamicPointerEvent.h | 3 +-- .../react/renderer/core/DynamicPropsUtilities.h | 2 +- .../react/renderer/core/ReactRootViewTagGenerator.h | 2 +- .../ios/ReactCommon/RCTContextContainerHandling.h | 2 +- .../react/runtime/platform/ios/ReactCommon/RCTInstance.h | 2 +- 16 files changed, 23 insertions(+), 29 deletions(-) diff --git a/packages/react-native/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.h b/packages/react-native/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.h index 4a9e72d45084..8dfe13809356 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.h +++ b/packages/react-native/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.h @@ -9,7 +9,7 @@ #include -#include +#include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp b/packages/react-native/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp index 320bbfe0bcfc..dcecf0680ebb 100644 --- a/packages/react-native/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +++ b/packages/react-native/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp @@ -15,7 +15,6 @@ #include #include #include -#include #include #include #include diff --git a/packages/react-native/ReactCommon/react/renderer/componentregistry/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/componentregistry/CMakeLists.txt index 84c320d1a7e0..7e517f1c50e4 100644 --- a/packages/react-native/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/componentregistry/CMakeLists.txt @@ -12,7 +12,7 @@ file(GLOB react_renderer_componentregistry_SRC CONFIGURE_DEPENDS *.cpp) add_library(react_renderer_componentregistry OBJECT ${react_renderer_componentregistry_SRC}) target_include_directories(react_renderer_componentregistry PUBLIC ${REACT_COMMON_DIR}) -target_include_directories(react_renderer_componentregistry INTERFACE ${REACT_COMMON_DIR}/react/renderer/componentregistry) +target_include_directories(react_renderer_componentregistry PUBLIC ${REACT_COMMON_DIR}/react/renderer/componentregistry) target_link_libraries(react_renderer_componentregistry folly_runtime diff --git a/packages/react-native/ReactCommon/react/renderer/componentregistry/ComponentDescriptorFactory.h b/packages/react-native/ReactCommon/react/renderer/componentregistry/ComponentDescriptorFactory.h index 81bdccd2dad6..c503a240838a 100644 --- a/packages/react-native/ReactCommon/react/renderer/componentregistry/ComponentDescriptorFactory.h +++ b/packages/react-native/ReactCommon/react/renderer/componentregistry/ComponentDescriptorFactory.h @@ -11,11 +11,10 @@ #include -#include -#include -#include +#include +#include -#include "ComponentDescriptorRegistry.h" +#include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h b/packages/react-native/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h index 7fea5923bae2..e2abdc9654e7 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h +++ b/packages/react-native/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h @@ -11,8 +11,8 @@ #include +#include #include -#include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/components/image/ImageEventEmitter.h b/packages/react-native/ReactCommon/react/renderer/components/image/ImageEventEmitter.h index ac20b349e085..e3dc96160cb1 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/image/ImageEventEmitter.h +++ b/packages/react-native/ReactCommon/react/renderer/components/image/ImageEventEmitter.h @@ -11,8 +11,8 @@ #include -#include -#include +#include +#include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/components/image/ImageProps.h b/packages/react-native/ReactCommon/react/renderer/components/image/ImageProps.h index 47db7c7ef787..592cb1e3c0c4 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/image/ImageProps.h +++ b/packages/react-native/ReactCommon/react/renderer/components/image/ImageProps.h @@ -12,10 +12,10 @@ #include #include -#include -#include -#include -#include +#include +#include +#include +#include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/components/image/ImageShadowNode.h b/packages/react-native/ReactCommon/react/renderer/components/image/ImageShadowNode.h index e257778e4481..3223722b43f4 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/image/ImageShadowNode.h +++ b/packages/react-native/ReactCommon/react/renderer/components/image/ImageShadowNode.h @@ -11,13 +11,12 @@ #include +#include +#include +#include #include #include #include -#include -#include -#include -#include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/components/image/ImageState.h b/packages/react-native/ReactCommon/react/renderer/components/image/ImageState.h index 41b3e39be620..f1b9bed9acd6 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/image/ImageState.h +++ b/packages/react-native/ReactCommon/react/renderer/components/image/ImageState.h @@ -12,9 +12,7 @@ #include #include -#include -#include -#include +#include #ifdef ANDROID #include diff --git a/packages/react-native/ReactCommon/react/renderer/core/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/core/CMakeLists.txt index d5ea3badd3d2..a8bf05419b3e 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/core/CMakeLists.txt @@ -12,7 +12,7 @@ file(GLOB react_renderer_core_SRC CONFIGURE_DEPENDS *.cpp) add_library(react_renderer_core OBJECT ${react_renderer_core_SRC}) target_include_directories(react_renderer_core PUBLIC ${REACT_COMMON_DIR}) -target_include_directories(react_renderer_core INTERFACE ${REACT_COMMON_DIR}/react/renderer/core) +target_include_directories(react_renderer_core PUBLIC ${REACT_COMMON_DIR}/react/renderer/core) target_link_libraries(react_renderer_core folly_runtime glog diff --git a/packages/react-native/ReactCommon/react/renderer/core/DynamicEventPayload.h b/packages/react-native/ReactCommon/react/renderer/core/DynamicEventPayload.h index 39ae495608d2..2f2f009422c8 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/DynamicEventPayload.h +++ b/packages/react-native/ReactCommon/react/renderer/core/DynamicEventPayload.h @@ -9,8 +9,8 @@ #include +#include #include -#include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/core/DynamicPointerEvent.h b/packages/react-native/ReactCommon/react/renderer/core/DynamicPointerEvent.h index 00f0d7902c82..2107aee4a481 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/DynamicPointerEvent.h +++ b/packages/react-native/ReactCommon/react/renderer/core/DynamicPointerEvent.h @@ -9,10 +9,9 @@ #include +#include #include #include -#include -#include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/core/DynamicPropsUtilities.h b/packages/react-native/ReactCommon/react/renderer/core/DynamicPropsUtilities.h index 4368743e03b5..b3f262dcca46 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/DynamicPropsUtilities.h +++ b/packages/react-native/ReactCommon/react/renderer/core/DynamicPropsUtilities.h @@ -9,8 +9,8 @@ #include +#include #include -#include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/core/ReactRootViewTagGenerator.h b/packages/react-native/ReactCommon/react/renderer/core/ReactRootViewTagGenerator.h index 94e13ad4c5e9..f43f322b530f 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/ReactRootViewTagGenerator.h +++ b/packages/react-native/ReactCommon/react/renderer/core/ReactRootViewTagGenerator.h @@ -9,7 +9,7 @@ #include -#include +#include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTContextContainerHandling.h b/packages/react-native/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTContextContainerHandling.h index 411b928bc2e8..2d8d013369e7 100644 --- a/packages/react-native/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTContextContainerHandling.h +++ b/packages/react-native/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTContextContainerHandling.h @@ -9,7 +9,7 @@ #import -#import +#import @protocol RCTContextContainerHandling diff --git a/packages/react-native/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h b/packages/react-native/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h index 8ac61fc1de60..037d78ed00ae 100644 --- a/packages/react-native/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +++ b/packages/react-native/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h @@ -9,9 +9,9 @@ #import +#import #import #import -#import #import #import From 29f9fc6986ae7dec811c983ac4bc847862662871 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Ma=C5=82ecki?= Date: Tue, 13 Oct 2026 08:58:57 -0700 Subject: [PATCH 2/2] Reach public modules through umbrellas from unguarded exported headers Summary: Several exported headers without a stable API guard included fine-grained headers of public modules directly. They are preprocessed in the including translation unit, so under `RN_STRICT_API` any app or library including them hits the public module's `UmbrellaGuard.h` `#error`. Switch them to the module umbrellas: - iOS `RCTCallInvoker.h`, `RCTBridgeProxy+Cxx.h`: ``; `NSDataBigString.h`: ``. - Android `react/fabric/AnimatedPropBufferEncoder.h`: ``; `react/runtime/jni/JJSTimerExecutor.h`, `JReactInstance.h`: ``. - ReactCxxPlatform `ImageLoaderModule.h`, `NativeExceptionsManager.h`: ``; `IMountingManager.h`, `RunLoopObserverManager.h`: ``; `ReactHost.h`: ``, ``; `ReactInstanceConfig.h`: ``. Each umbrella is a superset of the header it replaces, so no declarations are lost. Includes of "for frameworks" headers stay direct. The guards are inert without `RN_STRICT_API`. With `use_frameworks!`, a `` umbrella lives only in its owning pod's framework headers, which CocoaPods adds to dependents' search paths only for pods in `ReactNativePodsUtils.stable_umbrella_frameworks`. React-Core now reaches the `React-cxxreact` and `React-callinvoker` umbrellas, so add both pods to that list; otherwise the dynamic frameworks build fails with `'React/JSBigString.h' file not found`. Changelog: [Internal] Reviewed By: christophpurrer Differential Revision: D124323428 --- packages/react-native/React/Base/RCTBridgeProxy+Cxx.h | 2 +- packages/react-native/React/Base/RCTCallInvoker.h | 2 +- packages/react-native/React/CxxBridge/NSDataBigString.h | 2 +- .../src/main/jni/react/fabric/AnimatedPropBufferEncoder.h | 2 +- .../src/main/jni/react/runtime/jni/JJSTimerExecutor.h | 2 +- .../src/main/jni/react/runtime/jni/JReactInstance.h | 2 +- .../ReactCxxPlatform/react/io/ImageLoaderModule.h | 2 +- .../ReactCxxPlatform/react/logging/NativeExceptionsManager.h | 2 +- .../react/renderer/uimanager/IMountingManager.h | 2 +- .../react-native/ReactCxxPlatform/react/runtime/ReactHost.h | 4 ++-- .../ReactCxxPlatform/react/runtime/ReactInstanceConfig.h | 2 +- .../ReactCxxPlatform/react/utils/RunLoopObserverManager.h | 2 +- .../react-native/scripts/cocoapods/__tests__/utils-test.rb | 4 +++- packages/react-native/scripts/cocoapods/utils.rb | 2 ++ 14 files changed, 18 insertions(+), 14 deletions(-) diff --git a/packages/react-native/React/Base/RCTBridgeProxy+Cxx.h b/packages/react-native/React/Base/RCTBridgeProxy+Cxx.h index 2748178a3dbb..d54521260c9a 100644 --- a/packages/react-native/React/Base/RCTBridgeProxy+Cxx.h +++ b/packages/react-native/React/Base/RCTBridgeProxy+Cxx.h @@ -6,7 +6,7 @@ */ #ifdef __cplusplus -#import +#import #endif #import "RCTBridgeProxy.h" diff --git a/packages/react-native/React/Base/RCTCallInvoker.h b/packages/react-native/React/Base/RCTCallInvoker.h index 3c3fec429d6c..6c28474bb4df 100644 --- a/packages/react-native/React/Base/RCTCallInvoker.h +++ b/packages/react-native/React/Base/RCTCallInvoker.h @@ -8,7 +8,7 @@ #import #ifdef __cplusplus -#import +#import #endif NS_ASSUME_NONNULL_BEGIN diff --git a/packages/react-native/React/CxxBridge/NSDataBigString.h b/packages/react-native/React/CxxBridge/NSDataBigString.h index b8c571f81826..426640bfbcd3 100644 --- a/packages/react-native/React/CxxBridge/NSDataBigString.h +++ b/packages/react-native/React/CxxBridge/NSDataBigString.h @@ -7,7 +7,7 @@ #import -#include +#include namespace facebook::react { diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/fabric/AnimatedPropBufferEncoder.h b/packages/react-native/ReactAndroid/src/main/jni/react/fabric/AnimatedPropBufferEncoder.h index d7377cd1674c..5dbd596017a9 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/fabric/AnimatedPropBufferEncoder.h +++ b/packages/react-native/ReactAndroid/src/main/jni/react/fabric/AnimatedPropBufferEncoder.h @@ -7,8 +7,8 @@ #pragma once +#include #include -#include #include #include diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/runtime/jni/JJSTimerExecutor.h b/packages/react-native/ReactAndroid/src/main/jni/react/runtime/jni/JJSTimerExecutor.h index b34b7fec8832..06c9793e53f6 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/runtime/jni/JJSTimerExecutor.h +++ b/packages/react-native/ReactAndroid/src/main/jni/react/runtime/jni/JJSTimerExecutor.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include #include #include diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.h b/packages/react-native/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.h index d58e52722b71..cdad5ecc136f 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.h +++ b/packages/react-native/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.h @@ -7,9 +7,9 @@ #pragma once +#include #include #include -#include #include #include #include diff --git a/packages/react-native/ReactCxxPlatform/react/io/ImageLoaderModule.h b/packages/react-native/ReactCxxPlatform/react/io/ImageLoaderModule.h index 0966a70af3ba..1fa3819c8094 100644 --- a/packages/react-native/ReactCxxPlatform/react/io/ImageLoaderModule.h +++ b/packages/react-native/ReactCxxPlatform/react/io/ImageLoaderModule.h @@ -8,7 +8,7 @@ #pragma once #include -#include +#include #include #include #include diff --git a/packages/react-native/ReactCxxPlatform/react/logging/NativeExceptionsManager.h b/packages/react-native/ReactCxxPlatform/react/logging/NativeExceptionsManager.h index 9e8d49ac8c2f..7a7a9b39c66a 100644 --- a/packages/react-native/ReactCxxPlatform/react/logging/NativeExceptionsManager.h +++ b/packages/react-native/ReactCxxPlatform/react/logging/NativeExceptionsManager.h @@ -8,9 +8,9 @@ #pragma once #include +#include #include #include -#include #include #include #include diff --git a/packages/react-native/ReactCxxPlatform/react/renderer/uimanager/IMountingManager.h b/packages/react-native/ReactCxxPlatform/react/renderer/uimanager/IMountingManager.h index b68da46f54a0..3334c5948528 100644 --- a/packages/react-native/ReactCxxPlatform/react/renderer/uimanager/IMountingManager.h +++ b/packages/react-native/ReactCxxPlatform/react/renderer/uimanager/IMountingManager.h @@ -7,8 +7,8 @@ #pragma once +#include #include -#include #include #include diff --git a/packages/react-native/ReactCxxPlatform/react/runtime/ReactHost.h b/packages/react-native/ReactCxxPlatform/react/runtime/ReactHost.h index 9ff4a1d68941..ff16401fe2bc 100644 --- a/packages/react-native/ReactCxxPlatform/react/runtime/ReactHost.h +++ b/packages/react-native/ReactCxxPlatform/react/runtime/ReactHost.h @@ -9,8 +9,8 @@ #include "ReactInstanceConfig.h" -#include -#include +#include +#include #include #include #include diff --git a/packages/react-native/ReactCxxPlatform/react/runtime/ReactInstanceConfig.h b/packages/react-native/ReactCxxPlatform/react/runtime/ReactInstanceConfig.h index 559a928f4ed3..90a871692cc8 100644 --- a/packages/react-native/ReactCxxPlatform/react/runtime/ReactInstanceConfig.h +++ b/packages/react-native/ReactCxxPlatform/react/runtime/ReactInstanceConfig.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include #include #include diff --git a/packages/react-native/ReactCxxPlatform/react/utils/RunLoopObserverManager.h b/packages/react-native/ReactCxxPlatform/react/utils/RunLoopObserverManager.h index f7b0f241e998..6ea85411c73f 100644 --- a/packages/react-native/ReactCxxPlatform/react/utils/RunLoopObserverManager.h +++ b/packages/react-native/ReactCxxPlatform/react/utils/RunLoopObserverManager.h @@ -9,7 +9,7 @@ #include "PlatformRunLoopObserver.h" -#include +#include #include #include diff --git a/packages/react-native/scripts/cocoapods/__tests__/utils-test.rb b/packages/react-native/scripts/cocoapods/__tests__/utils-test.rb index 8432512de07b..28590836cfc1 100644 --- a/packages/react-native/scripts/cocoapods/__tests__/utils-test.rb +++ b/packages/react-native/scripts/cocoapods/__tests__/utils-test.rb @@ -782,7 +782,7 @@ def test_updateSearchPaths_whenUseFrameworks_addsSearchPaths # Assert user_project_mock.build_configurations.each do |config| received_search_path = config.build_settings["HEADER_SEARCH_PATHS"] - expected_search_path = "$(inherited) ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core ${PODS_CONFIGURATION_BUILD_DIR}/React-runtimeexecutor/React_runtimeexecutor.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-runtimeexecutor/React_runtimeexecutor.framework/Headers/platform/ios ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers/platform/ios ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/scrollview/platform/cxx ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/scrollview/platform/ios ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-debug/React_debug.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-rendererdebug/React_rendererdebug.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-timing/React_timing.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-utils/React_utils.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-FabricComponents/React_FabricComponents.framework/Headers/react/renderer/textlayoutmanager/platform/ios ${PODS_CONFIGURATION_BUILD_DIR}/React-FabricComponents/React_FabricComponents.framework/Headers/react/renderer/components/text/platform/cxx ${PODS_CONFIGURATION_BUILD_DIR}/React-FabricComponents/React_FabricComponents.framework/Headers/react/renderer/components/textinput/platform/ios ${PODS_CONFIGURATION_BUILD_DIR}/React-FabricComponents/React_FabricComponents.framework/Headers/react/renderer/components/switch/iosswitch ${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple/React_NativeModulesApple.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-bridging/React_bridging.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios ${PODS_CONFIGURATION_BUILD_DIR}/React-featureflags/React_featureflags.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-renderercss/React_renderercss.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-cxxstableapi/React_cxxstableapi.framework/Headers" + expected_search_path = "$(inherited) ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core ${PODS_CONFIGURATION_BUILD_DIR}/React-runtimeexecutor/React_runtimeexecutor.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-runtimeexecutor/React_runtimeexecutor.framework/Headers/platform/ios ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers/platform/ios ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/scrollview/platform/cxx ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/scrollview/platform/ios ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-callinvoker/React_callinvoker.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact/React_cxxreact.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-debug/React_debug.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-rendererdebug/React_rendererdebug.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-timing/React_timing.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-utils/React_utils.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-FabricComponents/React_FabricComponents.framework/Headers/react/renderer/textlayoutmanager/platform/ios ${PODS_CONFIGURATION_BUILD_DIR}/React-FabricComponents/React_FabricComponents.framework/Headers/react/renderer/components/text/platform/cxx ${PODS_CONFIGURATION_BUILD_DIR}/React-FabricComponents/React_FabricComponents.framework/Headers/react/renderer/components/textinput/platform/ios ${PODS_CONFIGURATION_BUILD_DIR}/React-FabricComponents/React_FabricComponents.framework/Headers/react/renderer/components/switch/iosswitch ${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple/React_NativeModulesApple.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-bridging/React_bridging.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios ${PODS_CONFIGURATION_BUILD_DIR}/React-featureflags/React_featureflags.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-renderercss/React_renderercss.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-cxxstableapi/React_cxxstableapi.framework/Headers" assert_equal(expected_search_path, received_search_path) end @@ -986,6 +986,8 @@ def test_createHeaderSearchPathsForStableUmbrellas_whenBuildingFromSource_addsOw assert_equal([ "${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers", + "${PODS_CONFIGURATION_BUILD_DIR}/React-callinvoker/React_callinvoker.framework/Headers", + "${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact/React_cxxreact.framework/Headers", "${PODS_CONFIGURATION_BUILD_DIR}/React-debug/React_debug.framework/Headers", "${PODS_CONFIGURATION_BUILD_DIR}/React-rendererdebug/React_rendererdebug.framework/Headers", "${PODS_CONFIGURATION_BUILD_DIR}/React-timing/React_timing.framework/Headers", diff --git a/packages/react-native/scripts/cocoapods/utils.rb b/packages/react-native/scripts/cocoapods/utils.rb index 119ce41c24b0..237aa084c663 100644 --- a/packages/react-native/scripts/cocoapods/utils.rb +++ b/packages/react-native/scripts/cocoapods/utils.rb @@ -366,6 +366,8 @@ def self.create_header_search_paths_for_stable_umbrellas(base_folder) def self.stable_umbrella_frameworks [ ["React-Fabric", "React_Fabric"], + ["React-callinvoker", "React_callinvoker"], + ["React-cxxreact", "React_cxxreact"], ["React-debug", "React_debug"], ["React-rendererdebug", "React_rendererdebug"], ["React-timing", "React_timing"],