2017-02-25 2 views
2

Ich habe eine reaktive native App, wenn ich es auf dem iOS-Simulator läuft es funktioniert und kann eine Verbindung zu dem laufenden Packager, der auf localhost läuft: 8081, aber wenn ich versuche, die App auf einem tatsächlichen iOS-Gerät auszuführen, schlägt es fehl, weil das js-Bundle nicht geladen werden kann, weil der Packager-Dienst nicht gefunden werden kann.React Native - wie ermittelt die App die Packager IP-Adresse, nicht auf Gerät

Mein Gerät und mein Dev-Server sind auf demselben WIFI-Netzwerk. Wie ermittelt die App, wo der Pacakger-Dienst läuft? Wenn ich die AppDelegate.m Datei ändern und ersetzen:

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

//with an explicit IP address, then the app works: 

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

Irgendwelche Tipps auf Einstellungen, die ich benötigen für den Betrieb auf einem Gerät zu ändern, ohne dass explizit diese Datei ändern.

Danke.

+0

Ich habe das gleiche Problem. Hast du das gelöst? –

+0

Haben Sie das Problem behoben? – Sidharth

Antwort

0

Ich habe es geschafft, dieses Problem vorübergehend zu beheben, indem Sie dies der Info.plist-Datei hinzufügen.

<key>NSAllowsArbitraryLoads</key> 
<true/> 
<key>NSAllowsArbitraryLoadsInWebContent</key> 
<true/> 
<key>NSAllowsLocalNetworking</key> 
<true/> 
+0

Dies funktioniert zum Testen, ist aber nicht gut für die Produktion – Sidharth

Verwandte Themen