Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

React Native using pre-bundled file on device, even if DEV-mode

A few days ago, when I build and run my react native app from Xcode on a device, I realised that even if I set my scheme to Debug, the app is still loading from a pre-bundled file. Other than that, everything else is like developer-mode. I can shake the device and the developer meny pop ups, in the console I get output, and react native also logs:

Running application "XXXXX" with appParams: {"rootTag":1,"initialProps":{}}. DEV === true, development-level warning are ON, performance optimizations are OFF

So when I try to reload from the developer meny, it indeed reloads but with the message

Loading from pre-bundled file

I have tried to delete the app, verify Debug-scheme, clean build, and the build and run again, without any different outcome.

Does anyone have a clue what could have caused this (I have been running the app before with Release Scheme, but never have had this issue), and how I can get back to "normal"?

Unfortunately I do not know how to reproduce this.

  • Xcode: 8.2.1
  • React-native: 0.40.0

Thank you for your time!

Solved

In my case, it was as @while1 pointed out regarding the wifi. My device and computer where not connected to the same wifi. I however found a network at my working place where it still didn't work, even if both computer and device connected to this network (protected somehow maybe?). ANyway, when I shared my internet connection to my computer from my iPhone, the app finally loaded the data from my computer. So it indeed was the iPhone not being able to connect to my computer, and therefore loading a pre-bundled file.

like image 296
Viktor Nilsson Avatar asked Jan 18 '17 07:01

Viktor Nilsson


1 Answers

In react native 0.40.0, React native try to guess bundle location by itself. Please see if following points can help:

  • Make sure your AppDelegate.m have this line:jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];

  • Check your device and your Xcode mac is running on same wifi. Internally for IOS, react native try to guess ip by itself.

  • Try running app first through command line, so dev packager server is running and then run app through xcode in your device.

like image 126
while1 Avatar answered Sep 21 '22 12:09

while1