React-native: "__nw_connection_get_connected_socket_block_invoke Verbindung hat keinen verbundenen Handler" in Protokollen

Erstellt am 21. Sept. 2016  ·  132Kommentare  ·  Quelle: facebook/react-native

Problemumgehung

_Bearbeiten von @hramos , Betreuer: _

In diesem Thread wurden verschiedene Lösungen vorgestellt:

OS_ACTIVITY_MODE

@ HADB vorgeschlagen :

  1. Öffnen Sie Xcode.
  2. Öffnen Sie das Produktmenü.
  3. Wählen Sie Schema bearbeiten ...
  4. Fügen Sie unter Umgebungsvariablen Folgendes hinzu:
    Name: OS_ACTIVITY_MODE
    Wert: disable
  5. Führen Sie Ihre App erneut aus

Verwenden von react-devtools

Stellen Sie alternativ sicher, dass react-devtools auf Ihrem System installiert ist.

Auflösung

Dies ist ein bekanntes Problem im iOS-Simulator. Das Problem bleibt offen, um die Sichtbarkeit zu erhöhen. Wir sind auf Kommentare zu diesem Thread auf die Hauptverantwortlichen beschränkt. Pull-Anfragen mit vorgeschlagenen Korrekturen sind willkommen.

Ursprüngliches Problem

ENV

RN 0,32
iOS 10, iPhone 6 Plus

Problem

Die Konsole von Xcode druckt weiter "__nw_connection_get_connected_socket_block_invoke 6 Verbindung hat keinen verbundenen Handler".

Bildschirm

image

Bug Help Wanted Low-Pri iOS

Hilfreichster Kommentar

Hallo Leute! Das funktioniert bei mir ( am Simulator ):

  1. Xcode-Menü -> Produkt -> Schema bearbeiten ...
  2. Umgebungsvariablen -> Hinzufügen -> Name: "OS_ACTIVITY_MODE", Wert: "deaktivieren"
  3. Führen Sie Ihre App erneut aus, fertig! 😄

Alle 132 Kommentare

+1

+1 Es ist nicht möglich, () Remote-JSON-Daten auf ios10 mit RN 0.33 abzurufen

+1 ios 10.0.1 RN 0.33

+1

+1

+1

+1

Passiert auch mit iOS 10.0.1 und RN 0.30

Bearbeiten: Ich habe die Empfehlungen hier befolgt und erhalte die Nachrichten nicht mehr

Immer noch ein Problem mit:
RN 0,34
XCode 8.0
iOS 10.0 Simulator

Es funktioniert jedoch mit dem iOS 9.2-Simulator.

@marcpechaitis Ich kann nicht auf die Bibliotheksdatei für RCTWebSocket zugreifen. Wie haben Sie sie gefunden? RTCWebSocket wird in meinen Zielen nicht angezeigt.

@ DrBeak1

screen shot 2016-09-23 at 1 24 20 pm

Vielen Dank für die Antwort @marcpechaitis . Ah. OK - Ich denke, das Problem ist, dass React-Native in mein Projekt integriert ist, das ursprünglich NUR ein natives Objektprojekt war. Die Reaktion wurde anschließend integriert (unter Verwendung der Anweisungen hier ). Mein Projekt verfügt also nicht über einen Bibliotheksordner, der die einzelnen xcodeproj-Dateien enthält. Die Dateien befinden sich im Projekt und sind nur nicht in einem Ziel enthalten:
screen shot 2016-09-23 at 1 08 19 pm

+1

Ich konnte RCTWebSocket.xcodeproj ausfindig machen, öffnen und die Warnflags ändern, aber das nervige __nw_connection_get_connected_socket_block_invoke -Protokoll bleibt bestehen. Die von @marcpechaitis erwähnte siehe hier ), um dies zu beheben, funktioniert nicht für bereits vorhandene Apps mit integriertem React-Native (im Vergleich zu Apps, die als React-Native-Apps gestartet wurden). Ich kann nicht einmal finden, wo dieser Protokollaufruf ausgelöst wird (nicht in obj-c-Dateien, nicht in Knotenmodulen). noch untersuchen.

edit: Dies ist nur ein Problem beim Erstellen gegen main.jsbundle ... Wenn ich gegen localhost (Debug) baue, verschwinden diese Protokolle. Ich vermute, dass RN, weil ich im Debug-Modus baue, davon ausgeht, dass ich eine Verbindung zum Debug-Localhost-Server herstellen möchte. was in diesem Fall nicht wahr ist. Meine RN-Entwicklung ist abgeschlossen und dieser Teil der App wird mit der von mir erstellten Datei main.jsbundle ausgeführt.

Der von @marcpechaitis erwähnte Build-Fehler wurde in RN 0.33 behoben
Dieser Fehler ist ein Laufzeitfehler. Interessanterweise funktioniert es für mich im iOS 10-Simulator, aber nicht auf dem eigentlichen Gerät.

@matthiasdilger oops, dachte @marcpechaitis bezog sich auf das OP.
screen shot 2016-09-23 at 5 01 17 pm

Hallo Leute! Das funktioniert bei mir ( am Simulator ):

  1. Xcode-Menü -> Produkt -> Schema bearbeiten ...
  2. Umgebungsvariablen -> Hinzufügen -> Name: "OS_ACTIVITY_MODE", Wert: "deaktivieren"
  3. Führen Sie Ihre App erneut aus, fertig! 😄

@HADB schlägt auf dem Gerät für mich

Jetzt funktioniert es auf Gerät und Simulator, indem alle Signaturzertifikate und Berechtigungen im Projekt neu zugewiesen werden.

Xcode 8.0, ios10, iphone 5s

Unten funktionieren die Compiler-Einstellungen des RCTWebSocket-Ziels für mich.
rctwebsocket xcodeproj

Keine dieser Lösungen funktioniert für mich überhaupt. Ich habe die Ausnahmen in meiner info.plist hinzugefügt und kann von meinem physischen Telefon aus keine Verbindung zu meinem Paketserver herstellen. Ich möchte auch Fehler wie @HADB, die mit OS_ACTIVITY_MODE erwähnt wurden, nicht deaktivieren. Dies ist ein legitimer Fehler.

Irgendeine Lösung für dieses Problem?

+1

RN 0,34,0
iOS 10.0.1
iPhone 5s

Im iOS 10-Simulator erhalte ich außerdem eine Menge __nw -bezogener Protokollnachrichten.

+1

RN 0,35,0-rc.0
IOS 10.1
Iphone 7 Plus

+1

Dies scheint ein iOS 10-Problem zu sein und kein React Native-Problem.

https://twitter.com/xenadu02/status/776669668404629504

Die Verwendung von OS_ACTIVITY_MODE=disable ( wie von HADB vorgeschlagen ) ist die einzige aktuelle Problemumgehung.

@aleclarson Ich habe dem Protokollteil zugestimmt, aber abrufen

@ frnk94 Sprechen Sie über die .jsbundle ? Der Packager bedient mein Entwicklungspaket einwandfrei.

Möglicherweise verwenden Sie ein veraltetes AppDelegate.m wenn dies nicht der Fall ist:

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

@alanchenup Ich denke, es ist ein Problem mit meinem AppDelegate.m, das keine Verbindung zu meinem tatsächlichen Gerät herstellt. Vielen Dank für die Antwort. Ich werde meinen Code korrigieren! :). Es funktioniert großartig im Simulator

Ich habe es durch Xcode-Menübefehle gelöst:
Produkt -> sauber
und (Optionstaste gedrückt halten)
Produkt -> 'Build-Ordner bereinigen'

+1

RN 0,34,0
iOS 10.0.1
iPhone 5s

Arbeiten im iOS 10 Simulator, aber nicht im echten iPhone 5S

@pietgk Kein Glück mit dieser Lösung für mich.

OS_ACTIVITY_MODE=disable funktioniert, aber es ist eher eine nukleare Option, da es alle Ihre NSLog-Anweisungen verbirgt, wenn es auf einem Gerät ausgeführt wird. Vielleicht ist es besser, vorerst nur mit der Holzverschmutzung zu leben, wenn Sie auf einem Gerät laufen.

@aleclarson @ frnk94 Eigentlich ist der wahre Fehler, den wir bekommen, meiner Meinung nach:
Sending websocketFailed with no listeners registered.

Ich kann js auch nicht vom Server auf das physische Gerät neu laden.

+1

+1

@marcpechaitis Danke, dass du meinen Artikel geteilt

+1

Ich bekomme dies, wenn ich sowohl Remote-Debugging als auch Konsolen-Debugging habe (über react-native log-ios ). Das Deaktivieren des Remote-Debuggens löst das Problem.

@warrenronsiek Wie deaktiviere

@ JansenLi Wenn Sie nicht wissen, was es ist, verursacht dies wahrscheinlich nicht das Problem. Wenn Sie in Ihrem Simulator Befehl + D drücken, wird ein Menü angezeigt, in dem Sie "JS remote debuggen" aktivieren oder deaktivieren können.

+1

+1

Ich habe diesen Fehler erhalten, als mein Telefon nicht mit Wifi verbunden war. 🙈

Die obige Lösung von HADB hat bei mir funktioniert, es fehlen jedoch einige Schritte in XCode8, die hier zur Verdeutlichung hinzugefügt werden:

  1. Xcode App -> Produkt -> Schema -> Schema bearbeiten ...
  2. Ausführen -> Argumente -> Umgebungsvariablen -> Hinzufügen (+) -> Name: "OS_ACTIVITY_MODE", Wert: "Deaktivieren" -> Schließen
  3. Führen Sie Ihre App erneut aus, fertig! 😄
    Dadurch werden die Fehler während der Ausführung entfernt, aber ich bin nicht sicher, ob das zugrunde liegende Problem dadurch behoben wird.

+1

nicht hilfreich, um herauszufinden, was los ist

Noch vorhanden am

RN 0,40,0
iOS 10.1
iPhone 6+

(Neuinstallation mit react-native init )

Das Deaktivieren der Protokolle funktioniert, oder ich kann sie einfach filtern und ignorieren, aber weiß jemand, was / ob tatsächlich etwas daran kaputt ist?

+1

+1

+1

+1
iOS 10.2
RN 0,35

+1
iOS 10.2
RN 0,40

Die Protokollnachricht '__nw_connection_get_connected_socket_block_invoke' wird einmal pro Sekunde in dem von mir evaluierten Projekt 'React-Native-Router-Flux' angezeigt. Die Nachricht scheint aus einer kompilierten Bibliothek zu stammen, da eine einfache Textsuche nichts von node_modules usw. enthüllte.

Bitte besuchen Sie https://github.com/facebook/react-native/issues/10027#issuecomment -261608678 oder http://stackoverflow.com/a/39461256/158525
Xcode 8 mit iOS 10 zeigt viel mehr Debug-Anweisungen auf niedriger Ebene an.

+1 RN0,34 und RN0,32

habe immer noch das gleiche Problem mit RN 0.40 und XCode 8.2.1

+1

+1

+1
iOS 10.2
RN 0,35

Für mich ist dieses Problem nach dem Upgrade auf rn0.40 verschwunden

+1
Xcode 8.2.1
RN: 0,40

Ich habe das gleiche Projekt auf 2 Macs und habe aufgehört, an dem zu arbeiten, bei dem ich node / npm (und damit alle globalen Abhängigkeiten) neu installieren musste. Auf dem anderen funktioniert es immer noch einwandfrei (auf einem echten iPhone konnte es jedoch nicht funktionieren). Für mich sieht es also nach etwas aus, das nichts mit Xcode / iOS zu tun hat.

Update: Nach dem Reinigen von node_modules und npm i funktioniert das Leben wieder normal :)

Na ja, irgendwie :) bekomme ich diese immer noch jede Sekunde, aber die App scheint zu funktionieren.
__nw_connection_get_connected_socket_block_invoke 60 Die Verbindung hat keinen verbundenen Handler

Und jetzt ist es weg. So unerwartet und ungeklärt wie es kam.

Möglicherweise nicht verwandt, aber dieses Problem wurde für mich behoben, als ich den Guided Access-Eingabehilfenmodus auf meinem iPhone 6 deaktivierte. Scheint weit hergeholt, aber immer noch ...

+1
Bisher haben keine Lösungen geholfen

Schema bearbeiten -> Ausführen -> Argumente - neue Umgebung var. OS_ACTIVITY_MODE mit disable hat mir geholfen

Sie können den Fehler mit OS_ACTIVITY_MODE zum Schweigen bringen. Dies ist nur eine falsche Protokollierung von dem Websocket, den wir für React Devtools öffnen.

Hallo @javache
Ich würde Ihrem Standpunkt freundlicherweise nicht zustimmen.
In der Tat sind sich viele von uns bewusst, dass das Deaktivieren der Betriebssystemprotokollierung verhindert, dass dies angezeigt wird. Dies hindert uns aber auch daran, unsere Apps normal zu debuggen ... Erst letzte Woche hatte unser Team wieder ein Problem und es dauerte ewig, bis wir daran denken, die Betriebssystemprotokolle erneut zu aktivieren, um den Fehler zu erkennen und unser Problem zu beheben ...

Die Lösung von @pietgk hat bei mir funktioniert

das ist kein problem

Was ist los mit Leuten, die dieses Problem schließen? Das Deaktivieren des Fehlers in der Ausgabekonsole ist keine Lösung. Was verursacht das Problem, was ist los? Ist das ein Fehler oder eine Warnung? Warum werden alle diese Ausgänge (mit einem Inkrement) auf unbestimmte Zeit angezeigt? Ich denke, das ist der einzig relevante Punkt. Sag mir, wenn ich falsch liege ...

Ich erhalte diesen Fehler / diese Warnung, wenn ich Fetch für meine API im Netz verwende und das Paket ordnungsgemäß lade (ios10.3 / RN 0.43-rc4). Der Server empfängt die Anfrage und sendet die Antwort, aber RN empfängt die Antwort nie.
Mein eigentliches Problem hier ist also, nicht die Antwort zu erhalten und nicht über die Warnungen.

Leute, bitte öffnet diese Ausgabe erneut. Vielen Dank.

Bitte schauen Sie hinein.

XCode 8.2.1
RN .43
iOS 10.3
Das selbe hier. Das Deaktivieren der Konsole, um das Problem auszublenden, ist für mich keine Option.

Das Deaktivieren der Konsole zum Ausblenden des Problems sollte für niemanden eine Option sein. Das Schließen der Augen hindert Sie auch daran, die Warnungen zu sehen.

Durch Deaktivieren der Ausgabe kann ich nichts anderes debuggen. Dies sollte wieder geöffnet werden !!!

Bitte öffnen Sie das Problem erneut.
Den Fehler unter den Teppich zu kehren, klingt überhaupt nicht nach einer Lösung.

Das Kommentieren von +1 ist hier nicht hilfreich. Bitte hören Sie damit auf. Laut https://twitter.com/xenadu02/status/776669668404629504 handelt es sich um ein Simulatorproblem, das in einem zukünftigen Update behoben werden sollte.

Fairer Kommentar @javache.

Davon abgesehen sehe ich dies, wenn ich auf dem Gerät sowohl im Debug- als auch im Release-Modus ausgeführt werde. Es ist nicht die Art von Problem, die dazu führt, dass man nachts den Schlaf verliert, aber es kann definitiv als Lärmbelästigung angesehen werden;)

Wenn Sie es also als ein Problem erkennen, das in einem zukünftigen Update behoben werden sollte, lassen Sie dieses Problem offen, um Ihre Position dazu widerzuspiegeln.

Keine XCode-Problemumgehung, aber dies hat die Schmerzen bei der Verwendung des Terminals gelindert.

react-native log-ios | grep -v __nw_connection_get_connected_socket_block_invoke

@ Javache

  1. Dies ist auf realen Geräten im Dev-Modus reproduzierbar.
  2. Auch Protokollnachrichten von libnetwork.dylib selbst sind definitiv Apple-Fehler. Ich muss sagen, dass unkontrollierter Spam in der Konsole persönlich RN-Verhalten ist. Wenn ich keine dummen Dinge mache, sollte ich nicht alle 2 Sekunden Konsolenfehler sehen.

Hinweis für RN-Entwickler:
Ursache des Problems ist die Wiederverbindungslogik in RCTWebSocketObserver (zumindest in RN 0.42.3) oder in [RCTDevMenu packagerURL] . Methode reconnect Spam-Betriebssystem mit regelmäßigen Wiederholungsversuchen. Am wunderbarsten für mich war die Tatsache, dass versucht wurde, vom realen Gerät aus eine Verbindung zu ' http: //localhost.8081/message '

@javache Nur ein Kopf hoch:

Laut https://twitter.com/xenadu02/status/776669668404629504 handelt es sich um ein Simulatorproblem, das in einem zukünftigen Update behoben werden sollte.

Dies wird auch auf einem realen Gerät angezeigt, auf dem 10.3.1 (14E304) mit RN 0.44.0 ausgeführt wird.

__EDIT: __ Hoppla , ich habe gerade gesehen, dass

@javache Beim Ausführen von iPhone 5 mit iOS 10.2 tritt dieses Problem auf einem physischen Gerät auf

Hat jemand gesagt, dass das Tippen gut funktioniert? :Troll Gesicht:

Dies geschieht auf einem realen Gerät. Ich könnte die Nachrichten deaktivieren, aber es klingt nach einer Sache, die korrigiert / erklärt werden muss.

@ cmaitchison Vorschlag macht den Trick, aber in meinem Fall werden die __ am Anfang nicht benötigt
react-native log-ios | grep -v nw_connection_get_connected_socket_block_invoke

Hat jemand eine echte Lösung dafür vorgesehen, anstatt nur Protokolle auszuschalten? Meine OCD wird bei diesem Problem verrückt, aber auch beim Deaktivieren der Protokollierung. Bin ich der Einzige?

@fgaleano du bist nicht der einzige. Ich habe eine Idee, habe aber derzeit keine Zeit, sie umzusetzen.
Ich denke, dass RN eine Art Konfigurationsflag implementieren muss, um optional die Verbindung zum Host-Computer zu aktivieren / deaktivieren. Wahrscheinlich kann dieses Flag ein Laufzeitschalter im Dev-Menü sein ... aber nicht sicher.

Derzeit verwende ich verschiedene Problemumgehungen, um unerwünschte Nachrichten von der Konsole herauszufiltern (grep oder Äquivalente, wenn Sie sich am Terminal anmelden). Ich würde nicht empfehlen, Protokolle mit OS_ACTIVITY_MODE zu deaktivieren, da andere wichtige Meldungen ausgeblendet werden: - /

Ich bekomme das Posting +1 nicht hilfreich. Wie ist es hilfreich, ein offenes Problem zu schließen? Scheint, als hätte Facebook einige seltsame kafkaeske Richtlinien für Fehler

@vovkasm Wie filtert man Nachrichten in xCode heraus?

@andreyslyusar nohow, Xcode hat keine Filter in der Konsole :-(, auch einige erweiterte Filter sind in der Konsolenanwendung in Sierra vorhanden.

Aber grep ist immer noch die leistungsstärkste Methode zum Filtern für mich. Daher verwende ich die iOS-Konsole . Sie enthält eine Befehlszeilenanwendung im Bundle.
Also kann ich /Applications/iOS\ Console.app/Contents/Resources/iosconsole | egrep anything vom Terminal aus machen.

Nur ein paar Gedanken dazu. Wenn Sie OS_ACTIVITY_MODE deaktivieren, wird sichergestellt, dass die nativ ausgelösten Fehler nicht ausgelöst werden. Wenn Sie sich jedoch in der Test-Debug-Phase befinden und die konstante Anzahl von nw_connection_get_connected_socket_block_invoke-Nachrichten sehen, kann dies dazu führen, dass Sie sehen, was wir tatsächlich in der Konsole sehen möchten (Überprüfen der Ausgaben, des App-Status usw.). Solange Sie daran denken, ist diese Korrektur nur vorübergehend und kann eine große Hilfe sein. Ciao!

Es passiert immer noch mit RN 0.44.0, iOS 10, iPhone 5S.

Es ist sehr ärgerlich, jede Sekunde "__nw_connection_get_connected_socket_block_invoke" zu sehen. Daher ist die vorübergehende Korrektur von OS_ACTIVITY_MODE sehr hilfreich.

Das auch sehen. Bin schon eine Weile. Ich habe es eine Weile ignoriert, aber es geht mir auf :).

RN 0,44, Xcode 8.3.3

Um die Erklärung von @javache zu erweitern , stammt dieser Fehler aus dem Websocket, der in react-native integriert ist, um eine Verbindung zu den react-devtools herzustellen. Wenn Sie während des Debuggens keine React-Devtools ausführen, wird dieser Fehler angezeigt, und es werden auch eine Reihe von Nachrichten über die Bridge gepumpt, die sich darüber beschweren, dass der Websocket nicht geöffnet werden kann (diese Fehler werden nur angezeigt, wenn Sie sie verwenden so etwas wie rn-snoopy ).

Der Fehler wird beendet, sobald Sie react-devtools installieren und öffnen. Anweisungen hierzu finden Sie in den folgenden Anweisungen:
https://github.com/facebook/react-devtools/blob/master/packages/react-devtools/README.md

@emusgrave ,

  1. Weder @javache noch jemand von Facebook haben etwas getan, um das Problem in diesem Thread zu erklären :-(
  2. React-Devtools ist gut, wenn es funktioniert :-) Aber meistens treten Fehler auf (zum Beispiel Debugger einfach nicht in RN 0.45.1, warum Devtools?)
  3. Haben Ihre React-Devtools funktioniert, als Sie die Anwendung auf einem echten iOS-Gerät ausgeführt haben?

@vovkasm
In Bezug auf Ihre Nummer 3 konnte ich React-Devtools von einem echten iOS-Gerät aus zum Laufen bringen, aber die Meldung in der Xcode-Konsole wird weiterhin angezeigt. Ich denke, das liegt an der Art und Weise, wie ich es gelöst habe, wie folgt:

Am Anfang meines Einstiegspunkts in JS habe ich den folgenden Hook zu react-devtools hinzugefügt:

   require('react-devtools-core').connectToDevTools({
     host: '192.168.2.115',
     port: '8097',
   });

(Ersetzen Sie die IP offensichtlich durch Ihre eigene Workstation-IP-Adresse).

Dadurch wird die Verbindung zu react-devtools hergestellt, aber es scheint, dass der interne reaktionsnative Code immer noch eine eigene Verbindung versucht, sodass die Meldung weiterhin in der xcode-Konsole angezeigt wird.

Ich habe noch nicht herausgefunden, wie die require('react-devtools-core') -Lösung NUR bei Verwendung eines physischen Geräts bedingt verwendet werden kann, ohne den Code manuell (un) auskommentieren zu müssen.

Ich werde zweitens sagen, dass dies ein React-Devtools-Problem für mich war. Sobald ich sie installiert hatte, wurden alle Nachrichten sofort gestoppt. Hier sind die Installationsanweisungen: https://github.com/facebook/react-devtools/blob/master/packages/react-devtools/README.md

Es ist ein Problem mit den reaktionsfähigen Devtools. Sobald ich es starte, hören die nervigen Protokolle auf.

Also war es die ganze Zeit über React-Devtools? Sie sollten das in RIESIGE SCHWARZE BRIEFE setzen!

@fgaleano SOLUTION = REACT- DEVTOOLS INSTALLIEREN
;)

https://github.com/facebook/react-native/commit/878b7e42fae990df745af2db6ac50cbac8a8ce1c entfernt diese Protokollnachricht in der Entwicklung, indem eine interne Apple-Protokollfunktion umgeleitet wird.

Es ist eine vernünftige Problemumgehung. Es wäre sehr gut, React-Devtools optional zu haben.

Wenn es optional ist, würde sich die Erfahrung insgesamt verschlechtern. Ich bin fest davon überzeugt, dass Debug-Tools eine zentrale Rolle bei der Entwicklung mit React Native spielen.

Nach einigem Nachdenken ist das überhaupt eine schlechte Idee.

  1. Es verschwendet bereits mehr Arbeit als die richtige Reparatur
  2. Es verwendet eine fragwürdige und schwer zu debuggende Technik, um echte Warnungen zu verbergen ("echte Warnung" ist hier nicht die Zeile nw_connection ... in den Protokollen selbst, sondern die Unendlichkeit solcher Zeilen).
  3. Es bringt das Gefahrenwerkzeug als Abhängigkeit ins Projekt
  4. Alle diese Warnungen werden ausgeblendet (nicht nur vor schlecht gestalteten React-Devtools-Verbindungen, sondern auch nützlich, wenn App-Entwickler denselben Fehler machen).
  5. Es verbirgt den Unendlichkeits-Wiederverbindungszyklus auf einem realen Gerät

Ich bin der festen Überzeugung, dass Entwicklererfahrungen mit React-Native mit transparenterem und klarerem Code und Verhalten besser sind, nicht mit immer mehr Problemumgehungen.

Es ist ein Fehler, dass die Warnung sogar bei neueren iOS-Versionen angezeigt wird. Das verbirgt also eigentlich nichts Nützliches. Die Socket-Wiederverbindung erfolgt nur bei Debug-Builds und niemals bei Release-Builds. Es wird alles optional mit dem RCT_DEV-Flag kompiliert.

Wenn dieses Problem Probleme verursacht, bin ich mehr als bereit, es zu entfernen, aber derzeit verbirgt es ein Problem, das viele Entwickler nervte.

@matthiasdilger ** Es funktioniert jetzt auf Gerät und Simulator, indem alle Signaturzertifikate und Berechtigungen im Projekt neu zugewiesen werden.

Xcode 8.0, ios10, iphone 5s ** wie du das gemacht hast bitte; Dankeschön

Dieser Fehler wird immer noch ab der reaktionsnativen Version 0.48.3 angezeigt. Das Ignorieren von Fehlern ist ein Hack, keine Lösung!

Ich habe die Protokolle durch das Einrichten von React-Devtools entfernt. Hier sind die Schritte (mit React v0.48):

  1. Installieren Sie react-devtools: npm install -g react-devtools
  2. Führen Sie react-devtools aus: react-devtools
  3. Bearbeiten Sie in Ihrem Projekt node_modules / react-native / Libraries / Core / Devtools / setupDevtools.js, indem Sie 'localhost' durch die IP-Adresse Ihres Entwicklungscomputers ersetzen.
  4. Erstellen Sie Ihr Projekt und führen Sie es in Xcode aus.

Danke @takameyer. Hinweis: Nur React-Devtools auszuführen funktioniert für mich, ohne dass setupDevtools.js bearbeitet werden muss.

@lrettig wird tatsächlich benötigt, wenn auf einem realen Gerät

Es gibt eine Pull-Anforderung, damit der native IOS-Code die lokale IP (des Debugger-Computers) ausfüllt:
https://github.com/facebook/react-native/issues/14431

Es klingt dumm, einen JS-Modulcode bearbeiten zu müssen, um diese Protokollverschmutzung zu verhindern. Die OS_ACTIVITY_MODE-Lösung wurde unter IOS 11 unbrauchbar, da sie alle NSLog-Anweisungen blockiert, nicht nur Systemprotokolle. In unserem Fall kein Protokoll mehr - was ich nur schwer mit diesem Hack verknüpfen konnte, den ich zuvor eingerichtet habe!
Wie jemand anderes sagte, ist ein Hack nicht gut. Eine ordnungsgemäße Korrektur ist erforderlich. Dies ist mehr als eine Unannehmlichkeit beim Versuch, Dinge zu debuggen :(

Ich habe das gleiche Problem in der folgenden Umgebung bestätigt:
iOS: 10.3.3 (echtes Gerät)
Native reagieren: 0,48
Xcode: 9.0
Und die App läuft wirklich LANGSAM. (War es nicht)

JEDOCH unter Xcode -> Produkt -> Schema -> Schema bearbeiten -> Registerkarte "Info" -> Konfiguration erstellen -> von Debug auf "Release" setzen.
Führen Sie die App erneut aus, die Fehlermeldung ist verschwunden und die App funktioniert wie erwartet.
Natürlich ist dies KEINE Lösung, aber ich möchte dies nur teilen und der REAL-Lösung vielleicht einen kleinen Schub geben.
Viel Spaß beim Codieren!

Gleicher Fehler.
RN: 0,49,3
Ausführen von iOS 11
Xcode 9
Echtes Gerät

gleicher Fehler

RN: 0,49,0
iOS 11, iPhone 5s
Xcode 9

Bitte öffnen Sie dies erneut. Ich kann das Gerät nicht neu laden und debuggen.

Auch für mich passiert das immer noch ... kann nicht auf dem Gerät ausgeführt werden, aber der Simulator funktioniert.

RN: 0,49,0
iOS 11, iPhone 7
Xcode: 9.0.1

Dieses Problem gibt es immer noch. Ich habe mich über lange Startzeiten beim Testen von Geräten gewundert. Das Ändern der Build-Konfiguration wie @kawashimaken hat bei mir funktioniert. Das Entwickeln und Debuggen ist derzeit nicht möglich.

Vielen Dank, dass Sie @takameyer. Die von Ihnen erwähnten Schritte haben das Problem behoben.

cool @takameyer

@takameyer mit react-devtools beruhigt die XCode-Protokolle, aber ich habe ein Problem, das meiner Meinung nach damit zusammenhängt. Ich erhalte in React Native Debugger immer wieder endlose Netzwerkausgaben mit einem Aufruf namens callbacks_poll , der nur auftritt, wenn das Remote-Debugging aktiv ist. Ich sehe das gleiche im Chrome-Debugger. Es entsteht auch ein Speicherverlust. Aber ich bin mir nicht sicher, ob es das gleiche Problem ist. Es scheint vor kurzem aufgetaucht zu sein. Ich bin auf RN0.49.5

screen shot 2017-11-24 at 17 11 55

Dies ist immer noch ein Problem unter React Native 0.50.4, Xcode 9.1, iOS 11.1 und macOS High Sierra

TCP Conn 0x1c03627c0 Failed : error 0:61 [61]
[] nw_connection_get_connected_socket 164 Connection has no connected handler
immer und immer wieder alle anderen Protokolle übertönen ...

Ich habe das gleiche Problem auf meinem iPhone 6s, iOS 10. Kompiliert das iOS-Projekt aus Xcode gemäß den Wiki-Anweisungen und die App friert im Begrüßungsbildschirm ein. Dies ist das Protokoll, das ich bekomme:

2017-12-05 13:20:06.849 [info][tid:main][RCTBatchedBridge.m:75] Initializing <RCTBatchedBridge: 0x1c01ba080> (parent: <RCTBridge: 0x1c00d0450>, executor: RCTJSCExecutor)
2017-12-05 13:20:06.854783-0300 StatusIm[1755:195391] Initializing <RCTBatchedBridge: 0x1c01ba080> (parent: <RCTBridge: 0x1c00d0450>, executor: RCTJSCExecutor)
2017-12-05 13:20:09.213 [info][tid:com.facebook.react.JavaScript] There was an error collecting entropy from the browser:
2017-12-05 13:20:09.213595-0300 StatusIm[1755:195564] There was an error collecting entropy from the browser:
2017-12-05 13:20:09.216 [info][tid:com.facebook.react.JavaScript] { [TypeError: undefined is not an object (evaluating 'sjcl.random')]
  line: 61724,
  column: 28,
  sourceURL: 'http://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false' }
2017-12-05 13:20:09.215912-0300 StatusIm[1755:195564] { [TypeError: undefined is not an object (evaluating 'sjcl.random')]
  line: 61724,
  column: 28,
  sourceURL: 'http://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false' }
2017-12-05 13:20:09.305 [info][tid:com.facebook.react.JavaScript] There was an error collecting entropy from the browser:
2017-12-05 13:20:09.305135-0300 StatusIm[1755:195564] There was an error collecting entropy from the browser:
2017-12-05 13:20:09.306 [info][tid:com.facebook.react.JavaScript] { [Error: Requiring module "629", which threw an exception.]
  line: 136,
  column: 15,
  sourceURL: 'http://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false' }
2017-12-05 13:20:09.305704-0300 StatusIm[1755:195564] { [Error: Requiring module "629", which threw an exception.]
  line: 136,
  column: 15,
  sourceURL: 'http://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false' }
2017-12-05 13:20:09.526 [info][tid:main][RCTRootView.m:284] Running application StatusIm ({
    initialProps =     {
    };
    rootTag = 1;
})
2017-12-05 13:20:09.526001-0300 StatusIm[1755:195391] Running application StatusIm ({
    initialProps =     {
    };
    rootTag = 1;
})
2017-12-05 13:20:09.530 [info][tid:com.facebook.react.JavaScript] Running application "StatusIm" with appParams: {"rootTag":1,"initialProps":{}}. __DEV__ === true, development-level warning are ON, performance optimizations are OFF
2017-12-05 13:20:09.530103-0300 StatusIm[1755:195564] Running application "StatusIm" with appParams: {"rootTag":1,"initialProps":{}}. __DEV__ === true, development-level warning are ON, performance optimizations are OFF
2017-12-05 13:20:09.587 [info][tid:com.facebook.react.JavaScript] Loading Closure base.
2017-12-05 13:20:09.587179-0300 StatusIm[1755:195564] Loading Closure base.
2017-12-05 13:20:09.588 [info][tid:com.facebook.react.JavaScript] Shimming require
2017-12-05 13:20:09.587855-0300 StatusIm[1755:195564] Shimming require
2017-12-05 13:20:10.377936-0300 StatusIm[1755:195547] [] nw_connection_get_connected_socket 3 Connection has no connected handler
2017-12-05 13:20:10.377975-0300 StatusIm[1755:195547] TCP Conn 0x1c0164a40 Failed : error 0:61 [61]
2017-12-05 13:20:10.709350-0300 StatusIm[1755:195547] TIC TCP Conn Failed [4:0x1c4162340]: 1:61 Err(61)
2017-12-05 13:20:10.709579-0300 StatusIm[1755:195547] Task <6BA6D0FB-6F5F-459F-8D6A-AB299AF9D169>.<1> HTTP load failed (error code: -1004 [1:61])
2017-12-05 13:20:10.710073-0300 StatusIm[1755:195537] Task <6BA6D0FB-6F5F-459F-8D6A-AB299AF9D169>.<1> finished with error - code: -1004
2017-12-05 13:20:10.716 [error][tid:com.facebook.react.JavaScript] { [TypeError: Network request failed]
  line: 6335,
  column: 29,
  sourceURL: 'http://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false' }
2017-12-05 13:20:10.716440-0300 StatusIm[1755:195564] { [TypeError: Network request failed]
  line: 6335,
  column: 29,
  sourceURL: 'http://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false' }
2017-12-05 13:20:10.828 [warn][tid:com.facebook.react.JavaScript] Possible Unhandled Promise Rejection (id: 0):
error is not a function. (In 'error()', 'error' is an instance of TypeError)
http://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false:129458:21
tryCallOne<strong i="6">@http</strong>://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false:3829:14
http://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false:3915:25
callTimer<strong i="7">@http</strong>://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false:2142:17
callImmediatesPass<strong i="8">@http</strong>://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false:2228:36
callImmediates<strong i="9">@http</strong>://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false:2238:48
guard<strong i="10">@http</strong>://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false:1860:7
__callImmediates<strong i="11">@http</strong>://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false:2008:12
http://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false:1897:31
guard<strong i="12">@http</strong>://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false:1860:7
callFunctionReturnFlushedQueue<strong i="13">@http</strong>://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false:1895:12
callFunctionReturnFlushedQueue@[native code]
2017-12-05 13:20:10.828779-0300 StatusIm[1755:195564] Possible Unhandled Promise Rejection (id: 0):
error is not a function. (In 'error()', 'error' is an instance of TypeError)
http://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false:129458:21
tryCallOne<strong i="14">@http</strong>://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false:3829:14
http://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false:3915:25
callTimer<strong i="15">@http</strong>://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false:2142:17
callImmediatesPass<strong i="16">@http</strong>://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false:2228:36
callImmediates<strong i="17">@http</strong>://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false:2238:48
guard<strong i="18">@http</strong>://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false:1860:7
__callImmediates<strong i="19">@http</strong>://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false:2008:12
http://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false:1897:31
guard<strong i="20">@http</strong>://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false:1860:7
callFunctionReturnFlushedQueue<strong i="21">@http</strong>://192.168.0.13.xip.io:8081/index.ios.bundle?platform=ios&dev=true&minify=false:1895:12
callFunctionReturnFlushedQueue@[native code]
2017-12-05 13:20:13.504143-0300 StatusIm[1755:195547] [] nw_connection_get_connected_socket 6 Connection has no connected handler
2017-12-05 13:20:13.504274-0300 StatusIm[1755:195547] TCP Conn 0x1c0167f80 Failed : error 0:61 [61]

2017-12-05 13:20:16.618225-0300 StatusIm[1755:195543] [] nw_connection_get_connected_socket 7 Connection has no connected handler
2017-12-05 13:20:16.618266-0300 StatusIm[1755:195543] TCP Conn 0x1c0167800 Failed : error 0:61 [61]
2017-12-05 13:20:19.735413-0300 StatusIm[1755:195537] [] nw_connection_get_connected_socket 8 Connection has no connected handler
2017-12-05 13:20:19.735505-0300 StatusIm[1755:195537] TCP Conn 0x1c0167d40 Failed : error 0:61 [61]
2017-12-05 13:20:22.848930-0300 StatusIm[1755:195543] [] nw_connection_get_connected_socket 9 Connection has no connected handler
2017-12-05 13:20:22.848997-0300 StatusIm[1755:195543] TCP Conn 0x1c01663c0 Failed : error 0:61 [61]

Und es geht weiter und weiter ...

Kann jemand berichten, ob RN 0.51.0 dies behoben hat? Ich bezweifle es, aber ich konnte es noch nicht testen.

Leider existiert es noch.

~/Documents/Development/ReactNative/AwesomeProject$ react-native -v
react-native-cli: 2.0.1
react-native: 0.51.0

Xcode:

2017-12-07 09:19:17.996487+0000 AwesomeProject[1887:905415] TCP Conn 0x1c016c600 Failed : error 0:61 [61]
2017-12-07 09:19:20.199010+0000 AwesomeProject[1887:905411] [] nw_connection_get_connected_socket 22 Connection has no connected handler
2017-12-07 09:19:20.199120+0000 AwesomeProject[1887:905411] TCP Conn 0x1c416a140 Failed : error 0:61 [61]
2017-12-07 09:19:22.329654+0000 AwesomeProject[1887:905417] [] nw_connection_get_connected_socket 23 Connection has no connected handler
2017-12-07 09:19:22.329713+0000 AwesomeProject[1887:905417] TCP Conn 0x1c016c600 Failed : error 0:61 [61]
2017-12-07 09:19:24.472388+0000 AwesomeProject[1887:905417] [] nw_connection_get_connected_socket 24 Connection has no connected handler

Das Deaktivieren von OS_ACTIVITY_MODE ist kein guter Weg.

Zuerst führe ich yarn start bei React-native root aus. Das verrückte Protokoll verschwindet im Simulator, erscheint aber immer noch im realen Gerät.

Nach mehreren Stunden arbeiten und alle Kommentare immer wieder lesen. Ich finde endlich, dass @emilsjolander 878b7e4 perfekt funktioniert.

Ich werde dieses verrückte Protokoll los, indem ich den Code in der Funktion - (void)reconnect kommentiere, die in React/RCTWebSocket/RCTReconnectingWebSockect.m .
Das verrückte Holz geht weg. Aber es ist nur eine Problemumgehung. Sie werden dies nicht jedes Mal tun wollen.

Für andere denke ich, dass ein Upgrade von React-native auf 0.51.0 dieses Problem lösen kann. 878b7e4 befindet sich anscheinend in diesem Zweig.

Es existiert noch.
"reagieren": "16.2.0",
"React-Native": "0,52,0",

xcode:

2018-01-10 15: 54: 15.635865 backgroundexample [3900: 1884257] [] __nw_connection_get_connected_socket_block_invoke 146 Die Verbindung hat keinen verbundenen Handler
2018-01-10 15: 54: 17.134563 backgroundexample [3900: 1884258] [] __nw_connection_get_connected_socket_block_invoke 147 Die Verbindung hat keinen verbundenen Handler
2018-01-10 15: 54: 17.629791 backgroundexample [3900: 1884329] [] __nw_connection_get_connected_socket_block_invoke 148 Die Verbindung hat keinen verbundenen Handler

Hat jemand eine Problemumgehung? Es ist immer noch auf meinem iOS-Gerät passiert.

Ich implementiere nur eine teilweise Problemumgehung dafür. Siehe https://github.com/facebook/react-native/pull/17617
Es fügt dem In-App-Entwicklermenü die Einstellung DevTools aktivieren / deaktivieren hinzu.

Aber leider ist es nicht genug. Vor allem, weil andere Websockets in RCTPackagerConnection (Funktion socketForLocation ) erstellt wurden und wie ich sehen kann, nicht von AppDelegate :-( deaktiviert werden können

Ich kann wahrscheinlich ein weiteres Element zum In-App-Entwicklermenü hinzufügen, um die Verbindung zum Packager zu aktivieren / deaktivieren. Was denken die Leute? Vielleicht fehlt mir etwas?

Ich verstehe dieses Problem .....
Der Fehler "nw_connection_get_connected_socket" wird nicht angezeigt, wenn Sie Ihre Einstellung aktualisieren ( https://github.com/facebook/react-native/issues/10027#issuecomment -261608678).

Sie können jedoch keine Verbindung herstellen. Überprüfen Sie, ob Ihr Smartphone und Ihr Desktop im selben Netzwerk verbunden sind.

Gibt es eine Bewegung bei diesem Fehler? Ich erhalte immer noch die folgenden Fehler und frage mich, ob sich dies auf die Konnektivität meines enthaltenen Frameworks auswirkt.

Produziert auf RN: 51, 52 & 53, in einem neuen Projekt, sofort ausgeworfen

2018-02-26 10:35:30.461406+0000 AwesomeProject[1116:328205] NSURLConnection finished with error - code -1001
2018-02-26 10:35:30.475292+0000 AwesomeProject[1116:328202] Task <B8745B69-267D-47AB-BCE2-B4DD3C525418>.<0> HTTP load failed (error code: -999 [1:89])
2018-02-26 10:35:30.479 [info][tid:main][RCTCxxBridge.mm:210] Initializing <RCTCxxBridge: 0x1c41c6540> (parent: <RCTBridge: 0x1cc0cdc10>, executor: (null))
2018-02-26 10:35:30.483170+0000 AwesomeProject[1116:328126] Initializing <RCTCxxBridge: 0x1c41c6540> (parent: <RCTBridge: 0x1cc0cdc10>, executor: (null))
2018-02-26 10:35:30.554 [warn][tid:main][RCTBridge.m:120] Class RCTCxxModule was not exported. Did you forget to use RCT_EXPORT_MODULE()?
2018-02-26 10:35:30.554183+0000 AwesomeProject[1116:328126] Class RCTCxxModule was not exported. Did you forget to use RCT_EXPORT_MODULE()?
2018-02-26 10:35:30.578 [warn][tid:main][RCTModuleData.mm:69] Module RCTImageLoader requires main queue setup since it overrides `init` but doesn't implement `requiresMainQueueSetup`. In a future release React Native will default to initializing all native modules on a background thread unless explicitly opted-out of.
2018-02-26 10:35:30.577913+0000 AwesomeProject[1116:328126] Module RCTImageLoader requires main queue setup since it overrides `init` but doesn't implement `requiresMainQueueSetup`. In a future release React Native will default to initializing all native modules on a background thread unless explicitly opted-out of.
2018-02-26 10:35:30.657 [info][tid:main][RCTRootView.m:302] Running application AwesomeProject ({
    initialProps =     {
    };
    rootTag = 1;
})
2018-02-26 10:35:30.657524+0000 AwesomeProject[1116:328526] [] nw_connection_get_connected_socket 2 Connection has no connected handler
2018-02-26 10:35:30.657537+0000 AwesomeProject[1116:328526] TCP Conn 0x1d0360d80 Failed : error 0:61 [61]
2018-02-26 10:35:30.790 [info][tid:com.facebook.react.JavaScript] Running application "AwesomeProject" with appParams: {"rootTag":1,"initialProps":{}}. __DEV__ === true, development-level warning are ON, performance optimizations are OFF

Dies existiert immer noch mit RN 0.52.0 und 0.54.0-rc.3.
Ich beobachte auch, wie die App im Debug-Modus in eine Schleife gerät, in der eine Menge Protokolle zu 'gespeicherten Requisiten' (so ähnlich) in die Xcode-Protokollansicht gespuckt werden, das Gerät überhitzt (iPhone 7) und die App dann abstürzt.

Nun, das ist bis zu einem Problem. iOS 11, reagieren 0,54.

Das Symbol zum erneuten Binden scheint auf dem Gerät nicht zu funktionieren. Keine der Ersetzungsmethoden wird aufgerufen. Es stört mich auch, dass es zwei Websockets gibt, die versuchen, eine Verbindung zu localhost herzustellen, obwohl sie auf dem Gerät ausgeführt werden.

fetch () funktioniert immer noch nicht

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen