web-dev-qa-db-fra.com

Erreur React-Native: Connexion à http: // localhost: 8081/proxy-débogueur? Role = client expiré

J'exécute la commande react-native run-ios et mon application s'affiche pendant 3 secondes avant de l'afficher. Je cours sur le simulateur ios

 enter image description here

ExceptionsManager.js: 76 Connexion à http: // localhost: 8081/debugger-proxy? role = client a expiré. Es-tu proxy de noeud en cours d'exécution? Si vous utilisez l'appareil, vérifiez si vous avoir la bonne adresse IP dans RCTWebSocketExecutor.m.

47
phongyewtong

J'ai réussi à le faire fonctionner sans créer de nouveau projet en supprimant l'application du projet dans le simulateur sur l'écran d'accueil iOS. Cela fonctionne bien maintenant.

20
phongyewtong

Je reçois souvent ce problème. Habituellement, lorsque je développe avec le débogueur distant et que je sauvegarde le type d'erreur de code -breaking. 

Essayez de recharger ... Si cela ne résout pas le problème: Crlt + cmd + z. puis arrêtez le débogage distant, puis actualisez. Cela résoudra le problème, mais vous avez maintenant perdu votre débogueur. Alors, allez encore ... Crlt + cmd + z. cette fois, démarrez le débogage distant, puis actualisez à nouveau. Votre projet devrait être de retour et bon aller. 

Cela fonctionne pour moi, mais c'est super ennuyant et prend beaucoup de temps. Je souhaite que quelqu'un a un meilleur moyen. 

27
fozzarelo

Pour le débogage à distance, vos deux appareils doivent être connectés au même réseau wifi (réseau).

18
Kuldeep Saxena

Cela m’arrivait apparemment parce que j’avais redémarré le conditionneur natif de réaction alors que j’avais toujours un débogueur Chrome ouvert qui était attaché à l’instance précédente du conditionneur/émulateur précédent.

Tuer cet onglet Chrome du débogueur et essayer à nouveau run-ios a semblé le résoudre, sans redémarrage ni autre sauvegarde.

9
XML

J'ai eu cette erreur quand j'ai oublié de revenir à utiliser le fichier d'index au lieu de jsbundle après la construction de la version.

J'ai eu

jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];

Au lieu de

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

Passé à indexer le fichier et construit à nouveau et cela a fonctionné.

3
Stanislau Buzunko

Dans mon cas, j'étais sur un réseau différent de celui du téléphone. Aucune carte SIM requise, je devais seulement m'assurer que j'étais sur le même réseau (nous avons des réseaux de travail et invités ici). Vous pouvez passer à la caisse pour quelques notes dans la documentation de RN (à mi-chemin se trouve une boîte rose avec le problème de proxy que nous avons tous rencontré):

http://facebook.github.io/react-native/docs/running-on-device.html

2
Tracey

Le problème peut être avec votre routeur. Essayez de vous connecter au wifi via le hotspot iPhone.

Sur github J'ai trouvé une solution de contournement: comment configurer DNS pour résoudre cette erreur sur votre Mac et votre iPhone:

  1. Sur votre machine de développement, Préférences Système -> Réseau -> Wi-Fi -> Adancé -> nomde votre réseau 
  2. Dans l'onglet DNS, changez l'adresse IP en 8.8.8.8. 
  3. Faites le même changement de DNS sur votre iPhone
2
merry_ejik

J'ai corrigé l'ajout d'un script dans "bundle réagit le code natif et les images" cible de phases de construction. J'ai simplement ajouté export DISABLE_XIP=NOTHANKS

 enter image description here

Le problème était que le vrai périphérique essayait de se connecter à mon ip sous le domaine xip.io

Je pense que ce script est nécessaire lorsque nous allons ajouter des ressources d'images personnalisées dans le projet xCode, mais vous pouvez vérifier que l'URL de l'adresse IP est incorrecte dans l'onglet Navigateur de rapports .  enter image description here

Ma configuration react: 16.3.1, react-native-cli: 2.0.1 react-native: 0.55.4 xCode 9.4.1

Ici, les documents d’origine natifs sur xip.io (chapitre Dépannage) https://facebook.github.io/react-native/docs/running-on-device

Voici la possibilité de désactiver XIP . https://github.com/facebook/metro/commit/079dcaed990abb6754c03113362e4f537cd32a24

Voici le conseil que j’ai trouvé pour essayer cette solution https://github.com/facebook/react-native/issues/12786

1
BigPurple

J'ai la même erreur même si c'est la même chose pour le réseau. 

Supprimez l'application de votre appareil et reconstruisez-la. Marchera.

0
Tuan Nguyen

Pour moi, cela s’est produit lorsque j’essayais de déboguer un vrai périphérique. Le problème était que mon ordinateur et mon véritable appareil ne disposaient pas du même réseau WiFi.

0
roni litman

Cela m'arrivait aussi. Je l'ai en quelque sorte corrigé avec un redémarrage ... allez comprendre. J'imagine que Metro Bundler n'a pas pu se lancer car le port 8081 a déjà été utilisé par un autre processus. Après un redémarrage, j’ai exécuté à nouveau react-native run-ios et cette fois, le simulateur s’est lancé correctement sans erreur. 

Remarquez, cela m’arrivait dans un tout nouveau projet.

0
rii

Je faisais face au même problème pour iOS.

Les astuces ci-dessous ont fonctionné pour moi: 

  • Ouvrir le projet dans Xcode.
  • Allez à Produit-> Schéma-> EditScheme-> Exécuter.
  • Variable d’environnement Cliquez sur + Sign.
  • Ajouter un indicateurOS_ACTIVITY_MODEavec la valeurdisable.
  • Exécutez votre application à partir de Xcode (Avant ce conditionneur fermé.)

J'espère que cela aidera quelqu'un.

0
Cool7
#if DEBUG
jsCodeLocation = [NSURL URLWithString:@"http://192.168.11.21:8081/index.bundle?platform=ios&dev=true"];
#else
#warning "PRODUCTION DEVICE"
  jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
#endif

Vous pouvez trouver votre adresse IP à partir de ce lien https://kb.wisc.edu/page.php?id=6526

0
Selçuk İtmiş

J'ai beaucoup essayé et finalement résolu en ajoutant NSAllowsArbitraryLoads à info.plist.

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSExceptionDomains</key>
    <dict>
        <key>localhost</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
    </dict>
</dict>
0
alphacat2018