A framework for building native applications using React
Fix outputs when iOS artifacts generator is run from Xcode script phase (#54066)
Summary: An earlier change (0.79 and onwards, I believe?) runs the iOS artifacts code generator script in Xcode as well as from Cocoapods. This duplication runs it twice, but the second step isn't able to load the new `autolinking.json` correctly; See: https://github.com/facebook/react-native/pull/53503 This PR "double" fixes this by: - simply passing the "real" output directory to the artifacts generator in (`script_phases.sh`) where it's called by Xcode, rather than a temporary directory - preferring `$RCT_SCRIPT_OUTPUT_DIR` if it's set as an environment variable in the artifacts generator (which it is by `script_phases.sh`) While this is technically redundant, future changes here make this feel like a safer option, since both conventions overlap in these two places, and the double fix may prevent a regression here in the shortterm and convey what this path is supposed to be in both places. ## Changelog: [IOS] [FIXED] - Fix autolinking-generated react-native-config output not being used in ReactCodegen script phase due to temp output directory Pull Request resolved: https://github.com/facebook/react-native/pull/54066 Test Plan: - Prefer `$RCT_SCRIPT_OUTPUT_DIR` env var for finding `build/generated/autolinking/autolinking.json` - Always use real `$RCT_SCRIPT_OUTPUT_DIR` as output in `withCodegenDiscovery` in `react_native_pods_utils/script_phases.sh` (which is called by Xcode rather than Cocoapods to invoke the artifacts generator) since the temporary output directory isn't necessary Reviewed By: javache Differential Revision: D85673625 Pulled By: cipolleschi fbshipit-source-id: 9d297fb0ee24f52a0bb7c5a8f41bf770bf63b18f
P
Phil Pluckthun committed
c0290329cdb1771ec087c8552049a287c67259c6
Parent: 99273f4
Committed by meta-codesync[bot] <215208954+meta-codesync[bot]@users.noreply.github.com>
on 10/28/2025, 5:45:33 PM