J'ai créé un nouveau projet de réaction et lorsque je l'exécute sur iOS à partir de 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
Qu'est-ce que 2017-05-19 23:25:51.299771-0400 test[21948:1121429] [] nw_connection_get_connected_socket_block_invoke 3 Connection has no connected handler
signifie ces lignes et comment résoudre le problème?
J'ai d'abord remarqué cela lorsque j'ai essayé d'utiliser fetch dans mon application et que cela ne fonctionnait pas. J'ai trouvé ces messages dans la console et découvert plus tard que ces messages se produisaient avec toutes mes applications, alors je suppose que cela signifie qu'il s'agit d'un problème de configuration de ma part?
J'ai créé un nouveau programme de test pour tester la cause de ce problème et j'ai constaté que cela se produisait dans un tout nouveau projet. Ci-dessous mon code est celui 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);
Essayez le processus ci-dessous
Menu Xcode -> Produit -> Edit Scheme ...
Variables d'environnement -> Ajouter -> Nom: "OS_ACTIVITY_MODE", Valeur: "disable"
Exécutez votre application à nouveau
J'ai compris la solution:
Pour désactiver Verbose pour le mode d'activité du système d'exploitation
Run
à gauche, puis sélectionnez Arguments
onglet à droite. Environment Variables
, ajoutez le nom OS_ACTIVITY_MODE
et la valeur sous la forme disable
. Ou voir l'image ci-dessous.
Remarque: le crédit de l'image va à Ramkrishna Sharma
Cette erreur provient probablement du websocket intégré à react-native pour se connecter à react-devtools. Si vous n’exécutez pas react-devtools lors du débogage, vous obtiendrez cette erreur, qui envoie également de nombreux messages sur le pont qui se plaignent de ne pas pouvoir ouvrir la prise Web (vous ne verrez ces erreurs que si vous utilisez quelque chose comme rn-snoopy ).
L’erreur s’arrête dès que vous installez et ouvrez react-devtools. Consultez ces instructions pour savoir comment procéder: https://github.com/facebook/react-devtools/blob/master/packages/react-devtools/README.md
Pour désactiver les flux websocket, j'ai procédé comme suit:
dans xcode: Libraries/React.xcodeproj/React/Inspector/RCTInspectorPackagerConnection.m: recherchez - (void)connect {
et ajoutez return;
juste après.
dans node_modules/react-native/Bibliothèques/Core/Outils/setupDevtools.js: remplacez if (__DEV__)
par if (false)
c'est assez moche mais bien meilleur que la solution OS_ACTIVITY, car cela ne cache ni n'empêche aucun autre outil de débogage.
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:
react-native log-ios
Cela devrait aider.
J'ai eu le même problème et le démarrage de mon application a été considérablement retardé à cause du problème. Le correctif pour moi est détaillé ici , mais je le récrirai au cas où le lien se briserait:
Product
dans la barre du haut.Scheme
, faites défiler jusqu'à Edit Scheme
Run
dans la barre de gauche, Info
dans l’onglet supérieur.Build Configuration
de Debug
par Release
Maintenant, non seulement l’application n’a plus les erreurs, mais elle démarre beaucoup plus rapidement. Les autres "corrections" ne cachent que l'erreur.