Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

NSInternalInconsistencyException: bundleURL must be non-nil when not implementing loadSourceForBridge

I recently started to get this error (detailed error below) in my iOS mobile app built using react-native. This only happens when I try to run the app on the phone by using Option 2 which is to load using a static bundle. I have tried:

  • Clean and rebuild in Xcode
  • Reset cache and run react packager
  • Uninstall the app on the phone
  • Coming from Windows background, I have also tried to reboot my machine

Error in Xcode

2016-08-04 09:34:37.611 GalarmApp[367:165469] *** Assertion failure in
-[RCTBatchedBridge loadSource:](), /Users/abc/Projects/GalarmApp/node_modules/react-native/React/Base/RCTBatchedBridge.m:180 2016-08-04 09:34:37.613 GalarmApp[367:165469] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'bundleURL must be non-nil when not implementing loadSourceForBridge'
*** First throw call stack: (0x182b32db0 0x182197f80 0x182b32c80 0x1834b81c0 0x1000af788 0x1000adefc 0x1000adca4 0x1000e73d8 0x1000e7368 0x1000e6700 0x1000e643c 0x10005a254 0x10003cebc 0x10003c214 0x10003966c 0x100039b18 0x187d069c0 0x187f36184 0x187f3a5f0 0x187f37764 0x1844d37ac 0x1844d3618 0x1844d39c8 0x182ae909c 0x182ae8b30 0x182ae6830 0x182a10c50 0x187cff94c 0x187cfa088 0x10003bee0 0x1825ae8b8) libc++abi.dylib: terminating with uncaught exception of type NSException (lldb)

I can see that this problem is printed here in the code but I am a beginner at best in native iOS development and don't know how to fix this problem.

Please help me in fixing this problem. Thanks!

Code in AppDelegate.swift file

/**
 * Loading JavaScript code - uncomment the one you want.
 *
 * OPTION 1
 * Load from development server. Start the server from the repository root:
 *
 * $ npm start
 *
 * To run on device, change `localhost` to the IP address of your computer
 * (you can get this by typing `ifconfig` into the terminal and selecting the
 * `inet` value under `en0:`) and make sure your computer and iOS device are
 * on the same Wi-Fi network.
 */
// let jsCodeLocation = NSURL(string: "http://localhost:8081/index.ios.bundle?platform=ios&dev=true")


 /**
 * OPTION 2
 * Load from pre-bundled file on disk. The static bundle is automatically
 * generated by "Bundle React Native code and images" build step.
 */
let jsCodeLocation = NSBundle.mainBundle().URLForResource("main", withExtension: "jsbundle")

As you can see, I have commented out Option 1 and uncommented out 'Option 2`. I have run the same app this way on the device like 100 times. I have not made any changes to the code but all of a sudden I started to see the error above.

like image 941
Varun Gupta Avatar asked Aug 04 '16 04:08

Varun Gupta


2 Answers

Just to add a quick "doh" moment for me. If you're running in the simulator and get this, make sure the package manager is running when you run your app. If it's not, it could complain about this.

like image 130
James Hall Avatar answered Nov 15 '22 04:11

James Hall


You can also get this error if you are not signing the app correctly. Check the Xcode settings and warnings

like image 36
Martin Lockett Avatar answered Nov 15 '22 04:11

Martin Lockett