This guide covers various debugging scenarios and solutions for Calendar Notifications Plus development.
(This should be in big bold red letters in the Expo documentation but isn't!)
This issue occurs because:
- Methods using
@ReactMethod(isBlockingSynchronousMethod = true) - JSI (JavaScript Interface) usage for native code which requires shared memory between JS VM and app
The Chrome debugger runs React Native inside its JS VM and communicates with mobile devices via WebSockets, meaning:
- No direct access to native modules
- No shared memory between JS VM and app
- Synchronous native methods cannot function
We lost a lot of time on this issue! See:
You MUST build your Android app in RELEASE mode for Hermes debugging to work. While the official documentation mentions needing a release build, it doesn't explicitly state that it won't work in development mode at all!
-
Hermes on Chrome (Release mode only)
- Official Documentation
- Current development mode efforts:
-
VSCode Debugging
- Install React Native Tools
- More reliable for development mode debugging
-
Flipper
- Official Website
- Comprehensive debugging platform