diff --git a/packages/react-native/scripts/ios-prebuild/__docs__/README.md b/packages/react-native/scripts/ios-prebuild/__docs__/README.md index c411934c1742..70411582212b 100644 --- a/packages/react-native/scripts/ios-prebuild/__docs__/README.md +++ b/packages/react-native/scripts/ios-prebuild/__docs__/README.md @@ -138,7 +138,13 @@ The prebuild (`xcframework.js`) always produces: - `React.xcframework` — the compiled React core. Each slice's `React.framework` carries the headers-spec layout (every `` header + the framework - module map), which is what both CocoaPods and SwiftPM consume. + module map). CocoaPods consumes that layout directly, through + `FRAMEWORK_SEARCH_PATHS`. SwiftPM consumes the same headers indirectly: the + XCFramework is not a member of the Swift package graph, so the consumer side + stages a copy of `React.framework/Headers` into + `ReactHeadersTarget/include/React` and rewrites `framework module React` to a + plain `module React`, vended as the `ReactHeaders` target (see + `spm-header-paths-contract.md` in the SwiftPM docs). - `ReactNativeHeaders.xcframework` — headers-only; carries every other namespace. Consumed by SwiftPM as a `binaryTarget` and by CocoaPods via the `React-Core-prebuilt` pod (headers flattened onto the header search path).