diff --git a/packages/react-native/ReactCommon/React-Fabric.podspec b/packages/react-native/ReactCommon/React-Fabric.podspec index 9e4c28c6a733..bb7c16f10bea 100644 --- a/packages/react-native/ReactCommon/React-Fabric.podspec +++ b/packages/react-native/ReactCommon/React-Fabric.podspec @@ -90,8 +90,8 @@ Pod::Spec.new do |s| s.subspec "bridgingUmbrella" do |ss| ss.source_files = "react/renderer/bridging/React/*.h" - ss.header_dir = "React" - ss.header_mappings_dir = "react/renderer/bridging/React" + ss.header_dir = "" + ss.header_mappings_dir = "react/renderer/bridging" end s.subspec "core" do |ss| @@ -140,8 +140,8 @@ Pod::Spec.new do |s| ss.subspec "rootUmbrella" do |sss| sss.source_files = "react/renderer/components/root/React/*.h" - sss.header_dir = "React" - sss.header_mappings_dir = "react/renderer/components/root/React" + sss.header_dir = "" + sss.header_mappings_dir = "react/renderer/components/root" end ss.subspec "view" do |sss| @@ -153,8 +153,8 @@ Pod::Spec.new do |s| ss.subspec "viewUmbrella" do |sss| sss.source_files = "react/renderer/components/view/React/*.h" - sss.header_dir = "React" - sss.header_mappings_dir = "react/renderer/components/view/React" + sss.header_dir = "" + sss.header_mappings_dir = "react/renderer/components/view" end ss.subspec "scrollview" do |sss| @@ -165,8 +165,8 @@ Pod::Spec.new do |s| ss.subspec "scrollviewUmbrella" do |sss| sss.source_files = "react/renderer/components/scrollview/React/*.h" - sss.header_dir = "React" - sss.header_mappings_dir = "react/renderer/components/scrollview/React" + sss.header_dir = "" + sss.header_mappings_dir = "react/renderer/components/scrollview" end ss.subspec "legacyviewmanagerinterop" do |sss| diff --git a/packages/react-native/ReactCommon/React-FabricComponents.podspec b/packages/react-native/ReactCommon/React-FabricComponents.podspec index d2298b2b0889..6cbe42390275 100644 --- a/packages/react-native/ReactCommon/React-FabricComponents.podspec +++ b/packages/react-native/ReactCommon/React-FabricComponents.podspec @@ -97,8 +97,8 @@ Pod::Spec.new do |s| ss.subspec "modalUmbrella" do |sss| sss.source_files = "react/renderer/components/modal/React/*.h" - sss.header_dir = "React" - sss.header_mappings_dir = "react/renderer/components/modal/React" + sss.header_dir = "" + sss.header_mappings_dir = "react/renderer/components/modal" end ss.subspec "safeareaview" do |sss| @@ -118,8 +118,8 @@ Pod::Spec.new do |s| ss.subspec "textUmbrella" do |sss| sss.source_files = "react/renderer/components/text/React/*.h" - sss.header_dir = "React" - sss.header_mappings_dir = "react/renderer/components/text/React" + sss.header_dir = "" + sss.header_mappings_dir = "react/renderer/components/text" end ss.subspec "iostextinput" do |sss| diff --git a/packages/react-native/ReactCommon/React-FabricImage.podspec b/packages/react-native/ReactCommon/React-FabricImage.podspec index db43a6c28666..a82ef901c4c9 100644 --- a/packages/react-native/ReactCommon/React-FabricImage.podspec +++ b/packages/react-native/ReactCommon/React-FabricImage.podspec @@ -50,10 +50,10 @@ Pod::Spec.new do |s| "HEADER_SEARCH_PATHS" => header_search_path.join(" ") } - s.subspec "ImageUmbrella" do |ss| + s.subspec "imageUmbrella" do |ss| ss.source_files = "react/renderer/components/image/React/*.h" - ss.header_dir = "React" - ss.header_mappings_dir = "react/renderer/components/image/React" + ss.header_dir = "" + ss.header_mappings_dir = "react/renderer/components/image" end resolve_use_frameworks(s, header_mappings_dir: './', module_name: "React_FabricImage") diff --git a/packages/react-native/ReactCommon/React-Mapbuffer.podspec b/packages/react-native/ReactCommon/React-Mapbuffer.podspec index 133f9e5010f0..3268a1543b2e 100644 --- a/packages/react-native/ReactCommon/React-Mapbuffer.podspec +++ b/packages/react-native/ReactCommon/React-Mapbuffer.podspec @@ -32,10 +32,10 @@ Pod::Spec.new do |s| s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => ["\"$(PODS_TARGET_SRCROOT)\""], "USE_HEADERMAP" => "YES", "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard() } - s.subspec "MapBufferUmbrella" do |ss| + s.subspec "mapbufferUmbrella" do |ss| ss.source_files = "react/renderer/mapbuffer/React/*.h" - ss.header_dir = "React" - ss.header_mappings_dir = "react/renderer/mapbuffer/React" + ss.header_dir = "" + ss.header_mappings_dir = "react/renderer/mapbuffer" end resolve_use_frameworks(s, header_mappings_dir: './', module_name: "React_Mapbuffer") diff --git a/packages/react-native/ReactCommon/callinvoker/React-callinvoker.podspec b/packages/react-native/ReactCommon/callinvoker/React-callinvoker.podspec index aac5db20478e..931b15bb1888 100644 --- a/packages/react-native/ReactCommon/callinvoker/React-callinvoker.podspec +++ b/packages/react-native/ReactCommon/callinvoker/React-callinvoker.podspec @@ -36,10 +36,10 @@ Pod::Spec.new do |s| s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => header_search_paths.join(' ') } s.header_dir = "ReactCommon" - s.subspec "CallInvokerUmbrella" do |ss| + s.subspec "callinvokerUmbrella" do |ss| ss.source_files = "React/*.h" - ss.header_dir = "React" - ss.header_mappings_dir = "React" + ss.header_dir = "" + ss.header_mappings_dir = "." end s.dependency "React-cxxstableapi" diff --git a/packages/react-native/ReactCommon/callinvoker/React/CallInvoker.h b/packages/react-native/ReactCommon/callinvoker/React/CallInvoker.h index e8bf92e95dae..f77c0725d1ee 100644 --- a/packages/react-native/ReactCommon/callinvoker/React/CallInvoker.h +++ b/packages/react-native/ReactCommon/callinvoker/React/CallInvoker.h @@ -18,10 +18,16 @@ // ============================================================================= // Marks that the following headers are pulled in through the umbrella, so their -// shared guard () accepts them. -#define RN_UMBRELLA_CONTEXT +// shared guard () accepts them. The marker +// is saved and restored rather than defined and undefined: the scope ends at +// this block, so later *direct* includes in the same TU are still caught, and +// it nests inside an enclosing umbrella rather than disarming it. +#pragma push_macro("RN_UMBRELLA_CONTEXT") +#undef RN_UMBRELLA_CONTEXT +#define RN_UMBRELLA_CONTEXT 1 #include #include #undef RN_UMBRELLA_CONTEXT +#pragma pop_macro("RN_UMBRELLA_CONTEXT") diff --git a/packages/react-native/ReactCommon/react/cxxstableapi/UmbrellaGuard.h b/packages/react-native/ReactCommon/react/cxxstableapi/UmbrellaGuard.h index fa925805f1e2..a0b08eec4dd0 100644 --- a/packages/react-native/ReactCommon/react/cxxstableapi/UmbrellaGuard.h +++ b/packages/react-native/ReactCommon/react/cxxstableapi/UmbrellaGuard.h @@ -29,15 +29,25 @@ // defining RN_STRICT_API. // // RN_UMBRELLA_CONTEXT Internal marker (implementation detail; consumers never -// set it). A module umbrella defines it around its own -// `#include`s to signal the blessed inclusion path: -// #define RN_UMBRELLA_CONTEXT +// set it). A module umbrella brackets its own `#include`s +// with it to signal the blessed inclusion path: +// #pragma push_macro("RN_UMBRELLA_CONTEXT") +// #undef RN_UMBRELLA_CONTEXT +// #define RN_UMBRELLA_CONTEXT 1 // #include // #include // #undef RN_UMBRELLA_CONTEXT -// The `#undef` matters: it keeps the marker scoped to the -// umbrella's includes so later *direct* includes in the -// same translation unit are still caught. +// #pragma pop_macro("RN_UMBRELLA_CONTEXT") +// Saving and restoring, rather than a bare +// `#define`/`#undef` pair, is what makes the scope both +// end at the umbrella -- later *direct* includes in the +// same translation unit are still caught -- and nest: an +// umbrella reached from inside another umbrella's +// context leaves the outer one armed. A bare `#undef` +// would disarm it, and every public header the outer +// umbrella included afterwards would hard-error. +// `scripts/add-cxxstableapi-guard.js --tier=public` +// emits this block; do not hand-write or "simplify" it. // // RN_BUILDING Defined by React Native's own build targets so internal // sources may keep including the fine-grained headers diff --git a/packages/react-native/ReactCommon/react/debug/React-debug.podspec b/packages/react-native/ReactCommon/react/debug/React-debug.podspec index 591f5798504b..1386f6181cb9 100644 --- a/packages/react-native/ReactCommon/react/debug/React-debug.podspec +++ b/packages/react-native/ReactCommon/react/debug/React-debug.podspec @@ -39,10 +39,10 @@ Pod::Spec.new do |s| resolve_use_frameworks(s, header_mappings_dir: "../..", module_name: "React_debug") - s.subspec "DebugUmbrella" do |ss| + s.subspec "debugUmbrella" do |ss| ss.source_files = "React/*.h" - ss.header_dir = "React" - ss.header_mappings_dir = "React" + ss.header_dir = "" + ss.header_mappings_dir = "." end s.subspec "redbox" do |ss| diff --git a/packages/react-native/ReactCommon/react/debug/React/Debug.h b/packages/react-native/ReactCommon/react/debug/React/Debug.h index 8ba388a6e3a4..4957eaa6a669 100644 --- a/packages/react-native/ReactCommon/react/debug/React/Debug.h +++ b/packages/react-native/ReactCommon/react/debug/React/Debug.h @@ -21,11 +21,17 @@ // ============================================================================= // Marks that the following headers are pulled in through the umbrella, so their -// shared guard () accepts them. -#define RN_UMBRELLA_CONTEXT +// shared guard () accepts them. The marker +// is saved and restored rather than defined and undefined: the scope ends at +// this block, so later *direct* includes in the same TU are still caught, and +// it nests inside an enclosing umbrella rather than disarming it. +#pragma push_macro("RN_UMBRELLA_CONTEXT") +#undef RN_UMBRELLA_CONTEXT +#define RN_UMBRELLA_CONTEXT 1 #include #include #include #undef RN_UMBRELLA_CONTEXT +#pragma pop_macro("RN_UMBRELLA_CONTEXT") diff --git a/packages/react-native/ReactCommon/react/renderer/bridging/React/RendererBridging.h b/packages/react-native/ReactCommon/react/renderer/bridging/React/RendererBridging.h index cc15bb5bae36..7f711c8b3c17 100644 --- a/packages/react-native/ReactCommon/react/renderer/bridging/React/RendererBridging.h +++ b/packages/react-native/ReactCommon/react/renderer/bridging/React/RendererBridging.h @@ -23,11 +23,15 @@ // ============================================================================= // Marks that the following headers are pulled in through the umbrella, so their -// shared guard () accepts them. Scoped to -// this block so later *direct* includes in the same translation unit are still -// caught. -#define RN_UMBRELLA_CONTEXT +// shared guard () accepts them. The marker +// is saved and restored rather than defined and undefined: the scope ends at +// this block, so later *direct* includes in the same TU are still caught, and +// it nests inside an enclosing umbrella rather than disarming it. +#pragma push_macro("RN_UMBRELLA_CONTEXT") +#undef RN_UMBRELLA_CONTEXT +#define RN_UMBRELLA_CONTEXT 1 #include #undef RN_UMBRELLA_CONTEXT +#pragma pop_macro("RN_UMBRELLA_CONTEXT") diff --git a/packages/react-native/ReactCommon/react/renderer/components/image/React/Image.h b/packages/react-native/ReactCommon/react/renderer/components/image/React/Image.h index de6e2a47c362..11fd0c2dca55 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/image/React/Image.h +++ b/packages/react-native/ReactCommon/react/renderer/components/image/React/Image.h @@ -18,8 +18,13 @@ // ============================================================================= // Marks that the following headers are pulled in through the umbrella, so their -// shared guard () accepts them. -#define RN_UMBRELLA_CONTEXT +// shared guard () accepts them. The marker +// is saved and restored rather than defined and undefined: the scope ends at +// this block, so later *direct* includes in the same TU are still caught, and +// it nests inside an enclosing umbrella rather than disarming it. +#pragma push_macro("RN_UMBRELLA_CONTEXT") +#undef RN_UMBRELLA_CONTEXT +#define RN_UMBRELLA_CONTEXT 1 #include #include @@ -29,3 +34,4 @@ #include #undef RN_UMBRELLA_CONTEXT +#pragma pop_macro("RN_UMBRELLA_CONTEXT") diff --git a/packages/react-native/ReactCommon/react/renderer/components/modal/React/Modal.h b/packages/react-native/ReactCommon/react/renderer/components/modal/React/Modal.h index 71518feb1c4b..c763e4d9ffb3 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/modal/React/Modal.h +++ b/packages/react-native/ReactCommon/react/renderer/components/modal/React/Modal.h @@ -19,8 +19,13 @@ // ============================================================================= // Marks that the following headers are pulled in through the umbrella, so their -// shared guard () accepts them. -#define RN_UMBRELLA_CONTEXT +// shared guard () accepts them. The marker +// is saved and restored rather than defined and undefined: the scope ends at +// this block, so later *direct* includes in the same TU are still caught, and +// it nests inside an enclosing umbrella rather than disarming it. +#pragma push_macro("RN_UMBRELLA_CONTEXT") +#undef RN_UMBRELLA_CONTEXT +#define RN_UMBRELLA_CONTEXT 1 #include #include @@ -28,3 +33,4 @@ #include #undef RN_UMBRELLA_CONTEXT +#pragma pop_macro("RN_UMBRELLA_CONTEXT") diff --git a/packages/react-native/ReactCommon/react/renderer/components/root/React/Root.h b/packages/react-native/ReactCommon/react/renderer/components/root/React/Root.h index 96f08af7caf6..c81a6d623464 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/root/React/Root.h +++ b/packages/react-native/ReactCommon/react/renderer/components/root/React/Root.h @@ -19,11 +19,17 @@ // ============================================================================= // Marks that the following headers are pulled in through the umbrella, so their -// shared guard () accepts them. -#define RN_UMBRELLA_CONTEXT +// shared guard () accepts them. The marker +// is saved and restored rather than defined and undefined: the scope ends at +// this block, so later *direct* includes in the same TU are still caught, and +// it nests inside an enclosing umbrella rather than disarming it. +#pragma push_macro("RN_UMBRELLA_CONTEXT") +#undef RN_UMBRELLA_CONTEXT +#define RN_UMBRELLA_CONTEXT 1 #include #include #include #undef RN_UMBRELLA_CONTEXT +#pragma pop_macro("RN_UMBRELLA_CONTEXT") diff --git a/packages/react-native/ReactCommon/react/renderer/components/scrollview/React/ScrollView.h b/packages/react-native/ReactCommon/react/renderer/components/scrollview/React/ScrollView.h index 96bf19f107d2..d382ee45a3d7 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/scrollview/React/ScrollView.h +++ b/packages/react-native/ReactCommon/react/renderer/components/scrollview/React/ScrollView.h @@ -20,8 +20,13 @@ // ============================================================================= // Marks that the following headers are pulled in through the umbrella, so their -// shared guard () accepts them. -#define RN_UMBRELLA_CONTEXT +// shared guard () accepts them. The marker +// is saved and restored rather than defined and undefined: the scope ends at +// this block, so later *direct* includes in the same TU are still caught, and +// it nests inside an enclosing umbrella rather than disarming it. +#pragma push_macro("RN_UMBRELLA_CONTEXT") +#undef RN_UMBRELLA_CONTEXT +#define RN_UMBRELLA_CONTEXT 1 #include #include @@ -40,3 +45,4 @@ #endif #undef RN_UMBRELLA_CONTEXT +#pragma pop_macro("RN_UMBRELLA_CONTEXT") diff --git a/packages/react-native/ReactCommon/react/renderer/components/text/React/Text.h b/packages/react-native/ReactCommon/react/renderer/components/text/React/Text.h index 6670d8a7b367..183a9e557892 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/text/React/Text.h +++ b/packages/react-native/ReactCommon/react/renderer/components/text/React/Text.h @@ -19,8 +19,13 @@ // ============================================================================= // Marks that the following headers are pulled in through the umbrella, so their -// shared guard () accepts them. -#define RN_UMBRELLA_CONTEXT +// shared guard () accepts them. The marker +// is saved and restored rather than defined and undefined: the scope ends at +// this block, so later *direct* includes in the same TU are still caught, and +// it nests inside an enclosing umbrella rather than disarming it. +#pragma push_macro("RN_UMBRELLA_CONTEXT") +#undef RN_UMBRELLA_CONTEXT +#define RN_UMBRELLA_CONTEXT 1 #include #include @@ -51,3 +56,4 @@ #endif #undef RN_UMBRELLA_CONTEXT +#pragma pop_macro("RN_UMBRELLA_CONTEXT") diff --git a/packages/react-native/ReactCommon/react/renderer/components/view/React/View.h b/packages/react-native/ReactCommon/react/renderer/components/view/React/View.h index 11325cb22230..de36f85ecddc 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/view/React/View.h +++ b/packages/react-native/ReactCommon/react/renderer/components/view/React/View.h @@ -19,9 +19,13 @@ // ============================================================================= // Marks that the following headers are pulled in through the umbrella, so their -// shared guard () accepts them. Scoped to -// this block so later *direct* includes in the same TU are still caught. -#define RN_UMBRELLA_CONTEXT +// shared guard () accepts them. The marker +// is saved and restored rather than defined and undefined: the scope ends at +// this block, so later *direct* includes in the same TU are still caught, and +// it nests inside an enclosing umbrella rather than disarming it. +#pragma push_macro("RN_UMBRELLA_CONTEXT") +#undef RN_UMBRELLA_CONTEXT +#define RN_UMBRELLA_CONTEXT 1 #if defined(__APPLE__) #include @@ -76,3 +80,4 @@ #endif #undef RN_UMBRELLA_CONTEXT +#pragma pop_macro("RN_UMBRELLA_CONTEXT") diff --git a/packages/react-native/ReactCommon/react/renderer/mapbuffer/React/MapBuffer.h b/packages/react-native/ReactCommon/react/renderer/mapbuffer/React/MapBuffer.h index 898a7befe37e..aed8b6dc8219 100644 --- a/packages/react-native/ReactCommon/react/renderer/mapbuffer/React/MapBuffer.h +++ b/packages/react-native/ReactCommon/react/renderer/mapbuffer/React/MapBuffer.h @@ -18,10 +18,16 @@ // ============================================================================= // Marks that the following headers are pulled in through the umbrella, so their -// shared guard () accepts them. -#define RN_UMBRELLA_CONTEXT +// shared guard () accepts them. The marker +// is saved and restored rather than defined and undefined: the scope ends at +// this block, so later *direct* includes in the same TU are still caught, and +// it nests inside an enclosing umbrella rather than disarming it. +#pragma push_macro("RN_UMBRELLA_CONTEXT") +#undef RN_UMBRELLA_CONTEXT +#define RN_UMBRELLA_CONTEXT 1 #include #include #undef RN_UMBRELLA_CONTEXT +#pragma pop_macro("RN_UMBRELLA_CONTEXT") diff --git a/packages/react-native/ReactCommon/react/timing/React-timing.podspec b/packages/react-native/ReactCommon/react/timing/React-timing.podspec index a61ad9fe2230..b0110594ec4a 100644 --- a/packages/react-native/ReactCommon/react/timing/React-timing.podspec +++ b/packages/react-native/ReactCommon/react/timing/React-timing.podspec @@ -44,8 +44,8 @@ Pod::Spec.new do |s| s.subspec "timingUmbrella" do |ss| ss.source_files = "React/*.h" - ss.header_dir = "React" - ss.header_mappings_dir = "React" + ss.header_dir = "" + ss.header_mappings_dir = "." end s.resource_bundles = {'React-timing_privacy' => 'PrivacyInfo.xcprivacy'} diff --git a/packages/react-native/ReactCommon/react/timing/React/Timing.h b/packages/react-native/ReactCommon/react/timing/React/Timing.h index 56a676dc92d1..bfac6c96fcb1 100644 --- a/packages/react-native/ReactCommon/react/timing/React/Timing.h +++ b/packages/react-native/ReactCommon/react/timing/React/Timing.h @@ -18,10 +18,15 @@ // ============================================================================= // Marks that the following headers are pulled in through the umbrella, so their -// shared guard () accepts them. Scoped to -// this block so later *direct* includes in the same TU are still caught. -#define RN_UMBRELLA_CONTEXT +// shared guard () accepts them. The marker +// is saved and restored rather than defined and undefined: the scope ends at +// this block, so later *direct* includes in the same TU are still caught, and +// it nests inside an enclosing umbrella rather than disarming it. +#pragma push_macro("RN_UMBRELLA_CONTEXT") +#undef RN_UMBRELLA_CONTEXT +#define RN_UMBRELLA_CONTEXT 1 #include #undef RN_UMBRELLA_CONTEXT +#pragma pop_macro("RN_UMBRELLA_CONTEXT") diff --git a/packages/react-native/scripts/cocoapods/new_architecture.rb b/packages/react-native/scripts/cocoapods/new_architecture.rb index 0052196a2065..98f9c743cf94 100644 --- a/packages/react-native/scripts/cocoapods/new_architecture.rb +++ b/packages/react-native/scripts/cocoapods/new_architecture.rb @@ -86,6 +86,9 @@ def self.install_modules_dependencies(spec, new_arch_enabled, folly_version = He ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-graphics", "React_graphics", ["react/renderer/graphics/platform/ios"]) .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-Fabric", "React_Fabric", ["react/renderer/components/view/platform/cxx"])) .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-FabricImage", "React_FabricImage", [])) + .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-FabricComponents", "React_FabricComponents", [])) + .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-Mapbuffer", "React_Mapbuffer", [])) + .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-RCTFBReactNativeSpec", "React_RCTFBReactNativeSpec", [])) .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "ReactCommon", "ReactCommon", ["react/nativemodule/core"])) .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-runtimeexecutor", "React_runtimeexecutor", ["platform/ios"])) .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-NativeModulesApple", "React_NativeModulesApple", [])) diff --git a/packages/react-native/scripts/cocoapods/utils.rb b/packages/react-native/scripts/cocoapods/utils.rb index f65d0798fcb5..a31cab7442f6 100644 --- a/packages/react-native/scripts/cocoapods/utils.rb +++ b/packages/react-native/scripts/cocoapods/utils.rb @@ -386,7 +386,17 @@ def self.update_search_paths(installer) ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "ReactCommon", "ReactCommon", ["react/nativemodule/core"]) .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-runtimeexecutor", "React_runtimeexecutor", ["platform/ios"])) .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "ReactCommon-Samples", "ReactCommon_Samples", ["platform/ios"])) - .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-Fabric", "React_Fabric", ["react/renderer/components/view/platform/cxx"], false)) + .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-Fabric", "React_Fabric", [ + "react/renderer/components/view/platform/cxx", + "react/renderer/components/scrollview/platform/cxx", + "react/renderer/components/scrollview/platform/ios", + ], false)) + .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-FabricComponents", "React_FabricComponents", [ + "react/renderer/textlayoutmanager/platform/ios", + "react/renderer/components/text/platform/cxx", + "react/renderer/components/textinput/platform/ios", + "react/renderer/components/switch/iosswitch", + ], false)) .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-NativeModulesApple", "React_NativeModulesApple", [])) .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-bridging", "React_bridging", [])) .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-graphics", "React_graphics", ["react/renderer/graphics/platform/ios"])) diff --git a/packages/react-native/scripts/ios-prebuild/headers-config.js b/packages/react-native/scripts/ios-prebuild/headers-config.js index cb52d5d8983c..78e72e95d615 100644 --- a/packages/react-native/scripts/ios-prebuild/headers-config.js +++ b/packages/react-native/scripts/ios-prebuild/headers-config.js @@ -485,7 +485,7 @@ const PodspecExceptions /*: {[key: string]: PodSpecConfiguration} */ = { headerDir: 'react/renderer/mapbuffer', subSpecs: [ { - name: 'MapBufferUmbrella', + name: 'mapbufferUmbrella', headerPatterns: ['react/renderer/mapbuffer/React/*.h'], headerDir: 'React', }, @@ -501,7 +501,7 @@ const PodspecExceptions /*: {[key: string]: PodSpecConfiguration} */ = { headerDir: 'react/renderer/components/image', subSpecs: [ { - name: 'ImageUmbrella', + name: 'imageUmbrella', headerPatterns: ['react/renderer/components/image/React/*.h'], headerDir: 'React', }, @@ -514,7 +514,7 @@ const PodspecExceptions /*: {[key: string]: PodSpecConfiguration} */ = { headerDir: 'ReactCommon', subSpecs: [ { - name: 'CallInvokerUmbrella', + name: 'callinvokerUmbrella', headerPatterns: ['React/*.h'], headerDir: 'React', }, @@ -526,7 +526,7 @@ const PodspecExceptions /*: {[key: string]: PodSpecConfiguration} */ = { headerDir: 'react/debug', subSpecs: [ { - name: 'DebugUmbrella', + name: 'debugUmbrella', headerPatterns: ['React/*.h'], headerDir: 'React', },