运行 在真实 iPhone 上调试方案时 Metrobundler 不会重新加载

Metrobundler not reloading when running debug scheme on real iPhone

当 运行 debug 方案在真实 iPhone 设备上而不是在模拟器上时,我注意到 metrobundler 没有被触发加载 JS 更改。

我可以摇动设备,然后会弹出重新加载、外部调试等选项。但是每当我选择任何选项时,应用程序都会冻结,然后在几秒或几分钟后显示以下错误

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

最可能的原因是什么?我似乎找不到其他人遇到同样的问题。

我的环境:

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

这里是 metrobundler 所在的位置,即使在摇晃后尝试执行任何选项后也是如此。

> ReactNativePlatform@0.0.1 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.

经过几个小时的反复试验,我发现在 iPhone 和计算机上从以太网切换到同一个 Wifi 网络可以解决问题。