A framework for building native applications using React
Improve Codegen to support automatic registration of Cxx TM (#49624)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/49624 This change improves the iOS infra so that there is no need to modify the Swift AppDelegate or to create a Bridging Header. ## Problem As of today, it is not possible to create a pure C++ TM and to register it through a Swift AppDelegate ## Solution We can create a pod that can be imported in a Swift AppDelegate and that offer some pure Objective-C classes. These classes contains a provider that can be instantiated in Swift. The TurboModule manager delegate will ask the AppDelegate about the presence of some provider that can instantiate a pure C++ turbomodule with a given name. The provider has an empty interface, but the implementation contains a function that can actually instantiate the TM. The function is implemented in an Objective-C++ class that imports the pure C++ turbomodule and creates it. The TMManager extends the provider through a category to attaach the signature of the function that is implemented by the provider. The last diff in this stack contains an exaple on how to implement this. ## Changelog: [iOS][Added] - Wire codegen to the new TM provider to automatically register CXX modules. Reviewed By: javache Differential Revision: D70082999 fbshipit-source-id: 11d829450e1d17984d6f22ee5b8907073c59d008
R
Riccardo Cipolleschi committed
6312360268cf11c915cf6e58072e6975548d652c
Parent: 5d5d370
Committed by Facebook GitHub Bot <[email protected]>
on 2/27/2025, 5:12:36 PM