History log of /expo/ios/Client/Menu/EXDevMenuWindow.m (Results 1 – 3 of 3)
Revision Date Author Comments
# f1012652 06-Jul-2023 Gabriel Donadel Dall'Agnol <[email protected]>

[go] Fix DevMenu window bounds on macOS (#23318)

# Why

Partially fixes ENG-9201

# How

By not manually setting `bounds` to `[[UIScreen mainScreen] bounds]` the
DevMenu automatically resizes

[go] Fix DevMenu window bounds on macOS (#23318)

# Why

Partially fixes ENG-9201

# How

By not manually setting `bounds` to `[[UIScreen mainScreen] bounds]` the
DevMenu automatically resizes when resizing the Expo Go window on macOS

# Test Plan

Run Expo Go on iOS and macOS

<table>
<tr><th>iOS</th><th>macOS</th></tr>
<tr>
<td>
<video
src="https://github.com/expo/expo/assets/11707729/065d746f-7def-4f9e-ad39-e5cc3e0e1c8c"/>
</td>
<td>
<video
src="https://github.com/expo/expo/assets/11707729/b3f1e6e7-42e3-4def-89f5-78941e6f49ad"
/>
</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 `npx expo prebuild` & EAS Build
(eg: updated a module plugin).

show more ...


# 59c8df89 09-Mar-2021 Evan Bacon <[email protected]>

[Expo Go] Set iOS dev menu above LogBox (#12154)

* set iOS dev menu above LogBox

* Apply suggestions from code review


# f67462bc 21-Apr-2020 Tomasz Sapeta <[email protected]>

[ios][home] Add three finger gesture to open the dev menu + some refactoring (#7891)

# Why

Fixes #7644 and brings us closer to the separate `expo-dev-menu` package that can live without kernel.

[ios][home] Add three finger gesture to open the dev menu + some refactoring (#7891)

# Why

Fixes #7644 and brings us closer to the separate `expo-dev-menu` package that can live without kernel.
Also fixed https://twitter.com/bantingGamer/status/1251154340129062917

# How

- Added `EXDevMenuManager` singleton that manages the dev menu. Most parts of it were in kernel or some others classes strongly connected with kernel. Now, kernel is just its delegate.
- Refactored `EXKernelDevMotionHandler` to `EXDevMenuMotionInterceptor` which is much clearer and makes it possible to uninstall the interceptor (these interceptors are kinda hacky, I tried not to do them this way but well, RN does the same ��).
- Added `EXDevMenuGestureRecognizer` for long press gesture, with minimum press duration set to 0.5s and with light impact haptic feedback.
- Added `EXDevMenuGestureInterceptor` that swaps the default implementation of `UIView#gestureRecognizers`, but only for `UIWindow`s. This is needed to make three-finger gesture work everywhere in the app.
- Renamed `EXMenuViewController` to `EXDevMenuViewController` (all dev menu classes should be prefixed by `EXDevMenu`) and again, removed some connections to kernel.
- Added UI in user settings to select dev menu gestures (can select them separately).
- Fixed an issue with dev menu view being below modals in the view hierarchy.

# Test Plan

So far I've tested it only with published experience. I'm gonna do smoke tests on dev apps later.
I mostly focused on testing whether:
- the dev menu works in general (after refactoring)
- three-finger gesture works on the initial screen of the app, on the modals and on the dev menu itself
- all combinations of selected gestures work as expected
- selected gestures persist after killing and relaunching the client

show more ...