[dev-launcher][dev-menu][ios] Add support for Fabric (#22184)
# Why
Closes ENG-7955
This PR adds dev-launcher support for the new architecture.
# How
- Updates `expo-dev-launcher` an
[dev-launcher][dev-menu][ios] Add support for Fabric (#22184)
# Why
Closes ENG-7955
This PR adds dev-launcher support for the new architecture.
# How
- Updates `expo-dev-launcher` and `expo-dev-menu` podspecs to support
`NEW_ARCH_ENABLED` flags
- Add `EXDevLauncherBridgeDelegate` class that inherits from
`RCTAppDelegate` and is responsible for creating the root view and
bridge
- Replace `DevMenuRCTCxxBridgeDelegate`with `DevMenuRCTAppDelegate`
- Fix `EXDevLauncherBridgeDelegate` not able to relaunch DevLauncher
- Add `ExpoDevLauncherBridgeDelegateHandler` to handle opening apps from
`ExpoDevLauncherReactDelegateHandler`
- Update `openDevMenuFromReactNative` to ensure the DevMenu is closed
before opening the react-native dev menu
# Test Plan
Run `fabric-tester` and `bare-expo` on iOS
<table>
<tr><th>fabric-tester</th><th>bare-expo</th></tr>
<tr>
<td>
<video
src="https://github.com/expo/expo/assets/11707729/1176f862-4459-4a39-8c11-16f73b2dfe46"/>
</td>
<td>
<video
src="https://github.com/expo/expo/assets/11707729/5f603af5-d970-4144-ade6-0943b829d225"
/>
</td>
</tr>
</table>
# Checklist
<!--
Please check the appropriate items below if they apply to your diff.
This is required for changes to Expo modules.
-->
- [ ] Documentation is up to date to reflect these changes (eg:
https://docs.expo.dev and README.md).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
- [ ] This diff will work correctly for `expo prebuild` & EAS Build (eg:
updated a module plugin).
---------
Co-authored-by: Kudo Chien <[email protected]>
show more ...
|