2015-03-27 8 views
16

Ich benutze React-Native, wenn ich das AwesomeProject mit Xcode und iPhone Simulator läuft alles funktioniert gut, aber als ich mein iPad angeschlossen und das Projekt auf meinem gebaut iPad erhalte ich einen Fehler auf dem iPad, wenn die Anwendung gestartet wird: „konnte nicht zum Entwicklungsserver verbinden Stellen Sie sicher, Knoten-Server läuft der Vorgang nicht abgeschlossen werden konnte (NSURLErrorDomain Fehler -1004).“React Native auf Ipad - Fehler - Konnte keine Verbindung zum Entwicklungsserver

.

Ich stellte auch sicher, dass das Knotenpaket ausgeführt wird. Ich habe Xcode sogar neu gestartet und alles mit dem Start von npm gestartet.

Könnten Sie bitte helfen?

Antwort

28

Auf Ihrem AppDelegate.m Sie die jsCodeLocation und localhost mit Ihrer Maschine IP-Adresse aktualisieren ersetzen.

Entweder das oder bündeln Sie die kompilierte Quelle in Ihre Anwendung, die auch als Option 2 auf AppDelegate.m kommentiert ist. Sie laden den kompilierten Code herunter und fügen ihn Ihrem Xcode-Projekt hinzu.

+0

Ich habe dies getan, aber immer noch den gleichen Fehler. – SuperUberDuper

+0

Vielen Dank! Es funktioniert sehr gut. Ich weiß nicht genau warum, aber das Anwenden der Lösung, die auf dem GitHub-Problem unten erwähnt wird, ruinierte heißes Nachladen. – mdikici

+0

Ich benutze react-native und deco, aber ich mache nicht zu viel mobile Entwicklung. Ist es eine schlechte Übung, die .m-Dateien zu bearbeiten, wenn ich diese Tools verwende? Wie auch immer, das hat funktioniert. Danke –

0

In meinem Fall hatte ich gerade eine sehr alte Version von node.js installiert (Version 0.8.6). Nach dem Aktualisieren von node.js auf Version 0.12.2 funktionierte das Standardprojekt react-native init AwesomeProject einwandfrei.

2

Ein anderes mögliches Problem, das den genau gleichen Fehler verursachen kann, ist App Transport Security (ATS) in iOS9 - das ist mir passiert, obwohl alles andere korrekt eingerichtet wurde. Siehe meine Beschreibung und Lösung unter https://stackoverflow.com/a/34880394/2397068.

3

Ich habe eine kleine Anleitung vorbereitet, die helfen wird, dieses Problem zu lösen.

Wenn die Anwendung auf dem Server keine Verbindung herstellen kann, wird die Meldung wie diese:

enter image description here

Öffnen einer Datei AppDelegate.m in Ihrem Xcode-Projekt und suchen nach

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

Sie müssen diese Adresse durch Ihre lokale Adresse ersetzen.

enter image description here

Um die lokale IP-Adresse in Mac OS X geöffnet Terminal-Anwendung (unter/Programme/Dienstprogramme) und geben Sie ipconfig getifaddr en1 für W-LAN oder ipconfig getifaddr en0 für Ethernet nachzuschlagen.

enter image description here

Sie können es in Browser überprüfen.Und Sie werden sehen, React Seite india Debugger

enter image description here

Ersetzen Sie einfach localhost in AppDelegate.m mit Ihrer IP-Adresse. localhost zu 192.168.1.100 in meinem Fall.

enter image description here

Führen Sie Ihre Anwendung in Xcode wieder.

+0

Ihre Lösung hat nicht für mich funktioniert. Get error "nw_connection_get_connected_socket_block_invoke 42 Verbindung hat keinen angeschlossenen Handler" – dcp

+0

1) Xcode menu -> Produkt -> Schema bearbeiten 0) 2) Umgebungsvariablen -> Hinzufügen -> Name: "OS_ACTIVITY_MODE", Wert: "disable" 3) Starten Sie Ihre App nochmal! –

Verwandte Themen