39 votes

Réagir natif - la connexion n'a pas d'erreur de gestionnaire de connexion

J'ai créé un nouveau projet react et quand je le lance sur iOS xcode, la console me donne ceci:

2017-05-19 23:25:34.119 [info][tid:main][RCTBatchedBridge.m:77] Initializing <RCTBatchedBridge: 0x6100001a6c80> (parent: <RCTBridge: 0x6100000c46e0>, executor: RCTJSCExecutor)
2017-05-19 23:25:51.287 [info][tid:main][RCTRootView.m:295] Running application test ({
    initialProps =     {
    };
    rootTag = 1;
})
2017-05-19 23:25:51.289 [info][tid:com.facebook.react.JavaScript] Running application "test" with appParams: {"rootTag":1,"initialProps":{}}. __DEV__ === true, development-level warning are ON, performance optimizations are OFF
2017-05-19 23:25:51.299771-0400 test[21948:1121429] [] nw_connection_get_connected_socket_block_invoke 3 Connection has no connected handler
2017-05-19 23:25:53.335282-0400 test[21948:1121426] [] nw_connection_get_connected_socket_block_invoke 4 Connection has no connected handler
2017-05-19 23:25:55.349190-0400 test[21948:1120112] [] nw_connection_get_connected_socket_block_invoke 5 Connection has no connected handler

Que dois - 2017-05-19 23:25:51.299771-0400 test[21948:1121429] [] nw_connection_get_connected_socket_block_invoke 3 Connection has no connected handler ces lignes signifient et comment puis-je résoudre le problème?

J'ai d'abord remarqué quand j'ai essayé d'utiliser fetch dans ma demande et constaté qu'il ne fonctionnait pas. J'ai trouvé ces messages dans la console et découvert plus tard que ces messages sont en train d'arriver avec toutes mes applications, donc je suppose que ça signifie que c'est un problème de config de ma part?

J'ai créé un nouveau programme pour tester ce qui a été à l'origine de ce et a trouvé qu'il se passe sur un tout nouveau projet. Ci-dessous mon code qui a généré la sortie du journal ci-dessus:

/**
 * Sample React Native App
 * https://github.com/facebook/react-native
 * @flow
 */

import React, { Component } from 'react';
import {
  AppRegistry,
  StyleSheet,
  Text,
  View
} from 'react-native';

export default class test extends Component {
  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          Welcome to React Native!
        </Text>
        <Text style={styles.instructions}>
          To get started, edit index.ios.js
        </Text>
        <Text style={styles.instructions}>
          Press Cmd+R to reload,{'\n'}
          Cmd+D or shake for dev menu
        </Text>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  welcome: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  },
  instructions: {
    textAlign: 'center',
    color: '#333333',
    marginBottom: 5,
  },
});

AppRegistry.registerComponent('test', () => test);

46voto

Arunkumar Points 1216

Essayez le processus ci-dessous

Menu Xcode -> Produit -> Editer le schéma ...

Variables d'environnement -> Ajouter -> Nom: "OS_ACTIVITY_MODE", valeur: "désactiver"

Exécutez votre application à nouveau

17voto

WootWoot Points 423

J'ai trouvé la solution:

Pour désactiver Détaillé pour le système d'exploitation de l'Activité Mode

  1. À partir de xcode menu Projet -> Système -> Modifier le Régime.
  2. Ensuite, sélectionnez Run sur la gauche, puis sélectionnez Arguments onglet sur la droite.
  3. En Environment Variables ajouter le nom d' OS_ACTIVITY_MODE et la valeur disable.

Ou voir image ci-dessous.

enter image description here

Remarque: crédit pour l'image va à Ramkrishna Sharma

10voto

Eric Musgrave Points 91

Cette erreur est probablement à partir de la websocket qui est intégrée à réagir indigènes pour se connecter à réagir-devtools. Si vous n'êtes pas en cours d'exécution réagir-devtools pendant le débogage, puis vous obtenez cette erreur, et il a aussi des pompes à un tas de messages à travers le pont se plaindre de ne pas être en mesure d'ouvrir le websocket (vous ne verrez que ces erreurs si vous utilisez quelque chose comme de la rn-snoopy).

L'erreur s'arrêtera dès que vous installez et ouvrez réagir-devtools. Consultez ces instructions pour savoir comment faire: https://github.com/facebook/react-devtools/blob/master/packages/react-devtools/README.md

2voto

Moritz Points 1338

Pour désactiver le websocket flux je n'ai suivantes:

  • dans xcode: Bibliothèques/Réagir.xcodeproj/Réagir/Inspecteur/RCTInspectorPackagerConnection.m: trouvez - (void)connect { et ajouter return; juste après.

  • dans node_modules/react-native/Libraries/Core/Devtools/setupDevtools.js: remplacer if (__DEV__) avec if (false)

c'est assez moche, mais beaucoup mieux que la OS_ACTIVITY solution, car elle ne permet pas de masquer ou empêcher tout autre outils de débogage.

0voto

kontinuity Points 4025

Dans mon cas, cela était dû à une application de pare-feu (Little Snitch) qui ne demande jamais l'accès lors de l'exécution d'une application native-rea. Les étapes qui fonctionnent pour moi:

  • Ouvrir le navigateur Safari dans le simulateur
  • Visitez google.com ou n’importe quel domaine
  • Assurez-vous qu'il ouvre la page. Il demandera un accès, etc.
  • Redémarrez votre application dans le simulateur
  • Redémarrer la journalisation react-native log-ios

Cela devrait aider.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X