Search code examples
javascriptiosreact-nativemetro-bundler

Metrobundler not reloading when running debug scheme on real iPhone


When running debug scheme on real iPhone device but not on Simulators, I noticed that the metrobundler doesn't get triggered to load JS changes.

I can shake the device and the options to reload, debug externally, etc will popup. But whenever I choose any of the options the app would freeze then show below error after few seconds or minutes

[RCTCxxBridge.mm:1080] Timed out waiting for modules to be invalidated

What would be the most probable cause of this? I can't seem to find someone else having the same problem.

My environment:

REACT: "16.8.3"
REACT-NATIVE: "0.59.2"
NPM: 6.9.0
NODE: v10.16.0

Here's where the metrobundler is even after trying to do any option after shake.

> [email protected] start /Users/joselitonarte/Documents/Fun/RN/myapp
> node node_modules/react-native/local-cli/cli.js start "--reset-cache"

┌──────────────────────────────────────────────────────────────────────────────┐
│                                                                              │
│  Running Metro Bundler on port 8081.                                         │
│                                                                              │
│  Keep Metro running while developing on any JS projects. Feel free to        │
│  close this tab and run your own Metro instance if you prefer.               │
│                                                                              │
│  https://github.com/facebook/react-native                                    │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘

Looking for JS files in
   /Users/joselitonarte/Documents/Fun/RN/myapp

warning: the transform cache was reset.
Loading dependency graph, done.

Solution

  • After a few hours of trial and error, I've found that switching from ethernet to same Wifi network on both the iPhone and the computer resolves the problem.