2016-08-04 19 views
6

Ich habe kürzlich begonnen, diesen Fehler (detaillierter Fehler unten) in meiner iOS-App zu erhalten, die unter react-native erstellt wurde. Dies geschieht nur, wenn ich versuche, die App auf dem Telefon mit Option 2 zu starten, die mit einem statischen Paket geladen werden soll. Ich habe versucht:NSInternalInconsistencyException: bundleURL muss nicht nil sein, wenn loadSourceForBridge nicht implementiert

  • reinigen und wieder aufzubauen in Xcode
  • Reset-Cache und laufen reagieren Verpacker
  • Deinstallieren Sie die App auf dem Telefon
  • Von Windows-Hintergrund, ich habe auch meine Maschine neu zu starten versucht

Fehler 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) 

Ich kann sehen, dass dieses Problem here im Code gedruckt wird, aber ich bin ein Anfänger bestenfalls in nativen iOS-Entwicklung und weiß nicht, wie Sie dieses Problem beheben.

Bitte helfen Sie mir bei der Beseitigung dieses Problems. Vielen Dank!

-Code in AppDelegate.swift

/** 
* 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") 

Datei Wie Sie sehen können, habe ich Option 1 und unkommentiert out ‚Option auf Kommentar 2`. Ich habe die gleiche App so auf dem Gerät wie 100 mal ausgeführt. Ich habe keine Änderungen am Code vorgenommen, aber plötzlich fing ich an, den obigen Fehler zu sehen.

+0

Sie sollten die Paket-URL in AppDelegate.m hinzufügen, wenn Sie die App auf einem echten Gerät ausführen. – Sriraman

+0

@Sriraman Die Paket-URL muss in der AppDelegate-Datei vorhanden sein. Ich habe keine Änderungen am Code im AppDelegate vorgenommen und ich habe das gleiche auf dem Gerät viele Male ausgeführt. Ich vermute, es hat etwas mit dem Packer zu tun, dass es nicht die erforderliche js-Datei erstellt. –

+1

Bitte beachten Sie die akzeptierte Antwort auf diese Frage, um weitere Informationen zu erhalten http://StackOverflow.com/Questions/38780325/Running-React-Native-App-on-Io-Device-Use-Offline-Bundle/38780622#38780622. –

Antwort

1

Sie können diesen Fehler auch erhalten, wenn Sie die App nicht ordnungsgemäß signieren. Überprüfen Sie die Xcode-Einstellungen und Warnungen

3

Nur um einen kurzen "Doh" -Moment für mich hinzuzufügen. Wenn Sie im Simulator ausgeführt werden und sicherstellen, dass der Paketmanager ausgeführt wird, wenn Sie Ihre App ausführen. Wenn nicht, könnte es sich beschweren.

0

Für meinen Fall, schalte ich die Web-Proxy-Einstellungen auf meinem Mac, die das Problem verursacht. Das Deaktivieren der Web-Proxy-Einstellungen behebt mein Problem.