Skip to content

Conversation

@chrfalch
Copy link
Collaborator

@chrfalch chrfalch commented Sep 29, 2025

Summary:

This commit adds support for symbolication of the XCFrameworks on request.

The reason doing this is that the symbol files are big and only needed if you need to debug React Native itself - f.ex. if you are a framework developer like Expo.

Symbolication can be performed by setting the RCT_SYMBOLICATE_PREBUILT_FRAMEWORKS environment variable to the value ''1'. This will cause the ReactNativeCoreUtils helper class to download symbol files and symbolicate the XFrameworks by doing the following:

  • After downloading the requested React.XCFramework the symbols will also be downloaded and places in the artifacts folder.
  • The XCFrameworks will be expanded and the folders in the symbol archive will be extracted into the XCFramework before it is zipped up again.

Some additional parts of this refactoring:

  • Aligned logging in both rndependencies.rb and rncore.rb
  • Removed uneccessary logging
  • RNCore/Deps: Changed so that the source for the package is the locally downloaded file so we don't download twice!
image

Changelog:

[IOS] [FIXED] - Added support for symbolication of precompiled React.xcframework

Test Plan:

Run pod install with the environment variable RCT_SYMBOLICATE_PREBUILT_FRAMEWORKS set to '1'.
Remember to clean (remove the Pods directory) before turning on/off.

This commit adds support for symbolication of the XCFrameworks on request.

The reason doing this is that the symbol files are big and only needed if you need to debug React Native itself - f.ex. if you are a framework developer like Expo.

Symbolication can be performed by setting the `RCT_SYMBOLICATE_PREBUILT_FRAMEWORKS` environment variable to the value ''1'. This will cause the `ReactNativeCoreUtils` helper class to download symbol files and symbolicate the XFrameworks by doing the following:

- After downloading the requested React.XCFramework the symbols will also be downloaded and places in the artifacts folder.
- The XCFrameworks will be expanded and the folders in the symbol archive will be extracted into the XCFramework before it is zipped up again.

Some additional parts of this refactoring:
- Aligned logging in both rndependencies.rb and rncore.rb
- Removed uneccessary logging
- RNCore/Deps: Changed so that the source for the package is the locally downloaded file so we don't download twice!
@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 Sep 29, 2025
@facebook-github-bot facebook-github-bot added p: Expo Partner: Expo Partner Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team. labels Sep 29, 2025
Copy link
Contributor

@cipolleschi cipolleschi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good on the surface. The PR is quite big, I'll start by importing it and then splitting it to analyze it better.

@facebook-github-bot
Copy link
Contributor

@cipolleschi has imported this pull request. If you are a Meta employee, you can view this in D83481709.

cipolleschi pushed a commit to cipolleschi/react-native that referenced this pull request Oct 2, 2025
Summary:
This change remove some unnecessary logs and improve the logging functions for the prebuilds

## Changelog:

[IOS] [CHANGED] - Updated logging functions for prebuilds

Pull Request resolved: facebook#53976

Test Plan:
Run:
```
RCT_USE_RN_DEP=1 RCT_USE_PREBUILT_RNCORE=1 bundle exec pod install
```

Differential Revision: D83481709

Pulled By: cipolleschi
@meta-codesync meta-codesync bot closed this in f0f8b95 Oct 4, 2025
@facebook-github-bot facebook-github-bot added the Merged This PR has been merged. label Oct 4, 2025
@facebook-github-bot
Copy link
Contributor

@cipolleschi merged this pull request in f0f8b95.

@react-native-bot
Copy link
Collaborator

This pull request was successfully merged by @chrfalch in f0f8b95

When will my fix make it into a release? | How to file a pick request?

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. Merged This PR has been merged. p: Expo Partner: Expo Partner Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants