Skip to content

Conversation

cipolleschi
Copy link
Contributor

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

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=1 environment variable. This will cause the ReactNativeCoreUtils 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.
image

Changelog:

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

Differential Revision: D83753187

Pulled By: cipolleschi

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
Summary:
This commit updates the cocoapods source for RNDependencies so that the source for the package is the locally downloaded file so we don't download twice!

## Changelog:

[IOS] [FIXED] - Update the `source`property to avoid multiple downloads

Differential Revision: D83753188

Pulled By: cipolleschi
Summary:
This commit adds building blocks to support the symbolication of the XCFrameworks on request.

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.

This change introduces some helper function that are needed to handle the dSYMS:
- `processDSYMs` the main function that unzip the symbols and prepare the framework for them
- `remap_sourcemaps_for_symbols` a support function that creates a mapping symbol -> file so that the debug can interpret them properly
- `generate_plist_content` a support function that generates the plist with all the mappings

These functions are used in the next commit of the stack.

## Changelog:

[Internal] - Added building blocks to support symbolication

Differential Revision: D83753189

Pulled By: cipolleschi
Summary:
This commit adds support for symbolication of the XCFrameworks on request.

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=1` environment variable. This will cause the `ReactNativeCoreUtils` 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.

<img width="400" alt="image" src="https://github.com/user-attachments/assets/ec8dd2e1-c7f8-4d5f-a3b6-b8ffbb678c95" />

## Changelog:

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

Differential Revision: D83753187

Pulled By: cipolleschi
@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 Oct 2, 2025
Copy link

meta-codesync bot commented Oct 2, 2025

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

@meta-codesync meta-codesync bot closed this in 07f40ec 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 07f40ec.

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. fb-exported Merged This PR has been merged. meta-exported p: Facebook Partner: Facebook Partner
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants