How to enable Live Reload in iOS Device running Re

2020-03-01 05:12发布

I'm trying to enable Live Reload mode, but there is no such item in Dev Menu: no item called 'Live Reload'

6条回答
霸刀☆藐视天下
2楼-- · 2020-03-01 05:22

You need to edit the source for jsCodeLocation from your AppDelegate.

The main problem that the

jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];

is looking for localhost by default, in simulator it will work as simulator and pc are on the same machine, but for device localhost will be different so to make it work, you need to change that line to

jsCodeLocation = [NSURL URLWithString:@"http://192.168.1.16:8081/index.ios.bundle?platform=ios&dev=true&minify=false&hot=true"];

here 192.168.1.16 change it to your PC local IP address

查看更多
一纸荒年 Trace。
3楼-- · 2020-03-01 05:24

You have this problem is mainly because your device and your development machine is not in the same LAN. check if it is. Make sure your computer and your device connected in the save LAN, everything will be ok.

After all ur devices connected to the same LAN. And if u are using Xcode.

  1. Close the React Native packager (or just close the terminal window)
  2. Delete the app in your iOS device
  3. Clean Xcode project.
  4. Run command npm start -- reset-cache

Then everything will be OK.

查看更多
姐就是有狂的资本
4楼-- · 2020-03-01 05:24

If u are using IOS Simulator, follow the menu Hardware > Shake Gesture, and click the Enable Live Reload option.

Hope it helps! :)

查看更多
The star\"
5楼-- · 2020-03-01 05:28

In my case, I had a local ethernet connection that was taking priority on en0, so I had to change the script at:

node_modules/react-native/react-native-xcode.sh

from

IP=$(ipconfig getifaddr en0)

to

IP=$(ipconfig getifaddr en1)

since my wifi was on that port. Verify that with terminal: networksetup -listallhardwareports


All this I learned from the following blog post:

https://www.stevetrefethen.com/blog/react-native-bundle-loading-failing-on-a-physical-device

Thanks Steve Trefethen!


I'm not sure what the permanent solution should be, but it seems the script should be checking for wifi only connections somehow.

查看更多
Root(大扎)
6楼-- · 2020-03-01 05:30

If you are running the simulator, make sure you sure you "Connect Hardware Keyboard"

enter image description here

查看更多
祖国的老花朵
7楼-- · 2020-03-01 05:39

If you are running the app on your actual native device. Then shake the device and it will pop up the me menu.

查看更多
登录 后发表回答