Skip to content

Let third-party pods resolve the C++ stable API guard headers - #57846

Open
coado wants to merge 1 commit into
react:mainfrom
coado:export-D110052811
Open

Let third-party pods resolve the C++ stable API guard headers#57846
coado wants to merge 1 commit into
react:mainfrom
coado:export-D110052811

Conversation

@coado

@coado coado commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Summary:
install_modules_dependencies is the helper every third-party New Architecture library calls from its own podspec, and update_search_paths covers the user project and the pod targets that don't go through it. Neither knew about React-cxxstableapi.

React Native's public C++ headers are starting to include the shared guard header <react/cxxstableapi/UmbrellaGuard.h>. The include is unconditional, so a third-party pod that includes any guarded React Native header has to be able to resolve it. Today it can't: in the default static-library mode $(PODS_ROOT)/Headers/Public/React-cxxstableapi is missing from the search path, and under use_frameworks! the React_cxxstableapi.framework/Headers entry is missing.

Declare the dependency and add the matching framework header search path in both places.

Changelog:
[iOS][Added] - Add a React-cxxstableapi dependency to third-party New Architecture pods so they can resolve React Native's C++ API guard headers

Differential Revision: D110052811

Summary:
`install_modules_dependencies` is the helper every third-party New Architecture library calls from its own podspec, and `update_search_paths` covers the user project and the pod targets that don't go through it. Neither knew about `React-cxxstableapi`.

React Native's public C++ headers are starting to include the shared guard header `<react/cxxstableapi/UmbrellaGuard.h>`. The include is unconditional, so a third-party pod that includes any guarded React Native header has to be able to resolve it. Today it can't: in the default static-library mode `$(PODS_ROOT)/Headers/Public/React-cxxstableapi` is missing from the search path, and under `use_frameworks!` the `React_cxxstableapi.framework/Headers` entry is missing.

Declare the dependency and add the matching framework header search path in both places.

Changelog:
[iOS][Added] - Add a `React-cxxstableapi` dependency to third-party New Architecture pods so they can resolve React Native's C++ API guard headers

Differential Revision: D110052811
@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Aug 6, 2026
@facebook-github-tools facebook-github-tools Bot added p: Software Mansion Partner: Software Mansion Partner p: Facebook Partner: Facebook labels Aug 6, 2026
@meta-codesync

meta-codesync Bot commented Aug 6, 2026

Copy link
Copy Markdown

@coado has exported this pull request. If you are a Meta employee, you can view the originating Diff in D110052811.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. meta-exported p: Facebook Partner: Facebook p: Software Mansion Partner: Software Mansion Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant