React-native: Aucune URL de groupe n'est présente

Créé le 7 mars 2017  ·  192Commentaires  ·  Source: facebook/react-native

La description

J'ai récemment remarqué que certaines personnes posaient des questions sur cette erreur "Aucune URL de bundle présente" et je l'ai rencontrée moi-même.

la reproduction

Je venais d'exécuter ˜react-native init projectName˜, de configurer mon fichier App.js (un simple Hello World), de l'appeler dans les index iOS et Android et d'exécuter ˜react-native run-ios˜. Ensuite, l'erreur Aucune URL de bundle présente est apparue.

Solution

J'ai essayé de supprimer mes node_modules et mon installation npm, de fermer le conditionneur et de relancer le projet, mais cela ne pouvait être résolu que si je suivais les étapes indiquées ici (http://stackoverflow.com/questions/42610070/what-means-of -no-bundle-url-present-in-react-native).

  • Exécutez "react-native run-ios"
  • Lorsque l'erreur apparaît, exécutez "npm install"
  • Ensuite, exécutez à nouveau "react-native run-ios".

Information additionnelle

C'est le premier projet que j'ai commencé à utiliser RN 0.42. Comme cela ne s'est jamais produit auparavant et que je ne suis pas le seul à être confronté à ce problème, je suppose qu'il devrait être examiné de plus près.

Voici mon package.json :

{
    "name": "myProject",
    "version": "0.0.1",
    "private": true,
    "scripts": {
        "start": "node node_modules/react-native/local-cli/cli.js start",
        "test": "jest"
    },
    "dependencies": {
        "react": "~15.4.1",
        "react-native": "0.42.0"
    },
    "devDependencies": {
        "babel-jest": "19.0.0",
        "babel-preset-react-native": "1.9.1",
        "jest": "19.0.2",
        "react-test-renderer": "~15.4.1"
    },
    "jest": {
        "preset": "react-native"
    }
}

Si je peux être plus utile pour faire d'autres tests, ce serait un plaisir.

Locked

Commentaire le plus utile

Mon problème a été résolu en ajoutant NSAllowsLocalNetworking à Info.plist

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
        <key>NSAllowsArbitraryLoadsInWebContent</key>
        <true/>
        <key>NSAllowsLocalNetworking</key>
        <true/>
    </dict>
</key>

Je ne suis pas sûr que ce soit à cause du problème RN0.42 ou iOS, mais c'est résolu dans mon cas.

Tous les 192 commentaires

Ayant le même problème maintenant. Je ne sais pas ce qui a changé.

Même problème.

Je pense que c'est un problème avec XCode. C'est la seule chose que je peux comprendre. Il a été mis à jour et l'enfer s'est déchaîné.

Envoyé de mon iPhone

Le 7 mars 2017, à 22h55, Decade [email protected] a écrit :

Même problème.


Vous recevez ceci parce que vous avez commenté.
Répondez directement à cet e-mail, consultez-le sur GitHub ou désactivez le fil de discussion.

Et si vous exécutiez npm start dans la console ?

Même problème.

j'ai trouvé
JsCodeLocation = [[RCTBundleURLProvider jsBundleURLForBundleRoot:@sharedSettings] "index.ios" fallbackResource:nil ] ;
Ne prenez pas d'adresse efficace, cela se produit en relation avec la situation du réseau (et pas tous les réseaux tels), lorsque cela se produit, déconnecté du réseau, je pense, dans une machine virtuelle peut fonctionner en localhost:8081
C'est comme ça que je suis

Non. J'ai tout essayé.

Envoyé de mon iPhone

Le 8 mars 2017, à 1 h 53, Eugene Sokovikov [email protected] a écrit :

Et si vous exécutiez npm start dans la console ?


Vous recevez ceci parce que vous avez commenté.
Répondez directement à cet e-mail, consultez-le sur GitHub ou désactivez le fil de discussion.

Cela a bien fonctionné avec android

Envoyé de mon iPhone

Le 8 mars 2017, à 2 h 13, mac2066 [email protected] a écrit :

Même problème.

j'ai trouvé
JsCodeLocation = [[RCTBundleURLProvider jsBundleURLForBundleRoot:@sharedSettings] "index.ios" fallbackResource:nil ] ;
Ne prenez pas d'adresse efficace, cela se produit en relation avec la situation du réseau (et pas tous les réseaux tels), lorsque cela se produit, déconnecté du réseau, je pense, dans une machine virtuelle peut fonctionner en localhost:8081
C'est comme ça que je suis


Vous recevez ceci parce que vous avez commenté.
Répondez directement à cet e-mail, consultez-le sur GitHub ou désactivez le fil de discussion.

@AbeHerbert

Oui, c'est le code IOS, je regarde simplement le code, ici prendra automatiquement l'IP locale, mais évidemment, n'a pas pris, Android je n'ai pas essayé, mais c'est évidemment différent du code IOS

Ma situation quand j'ai changé d'environnement réseau, c'est normal, très astucieux, quand j'ai rencontré la maison
J'essaie d'imprimer l'accès automatique à l'adresse complète, sont prises pour revenir au zéro, en même temps, APP attendra le début de l'affaire, c'est l'adresse locale

NSLog (@ absoluteString:%@), [jsCodeLocation absoluteString]);
NSLog (@ host:%@), [jsCodeLocation host]);
NSLog (@ port:%@), [jsCodeLocation port]);

Quand je vais

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

Modifié en

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

Cette fois peut être un démarrage normal, mais après être entré dans l'application de chargement d'image à distance, cela semble faux
Ce n'est qu'un point de vue et il n'y a pas de solution concrète

J'ai reçu ce message lorsque le conditionneur ne s'exécute pas lorsque l'application est lancée sur iOS. En règle générale, je dois complètement arrêter l'application et la relancer après avoir démarré le conditionneur. Pouvez-vous être sûr que le conditionneur est en cours d'exécution avant de lancer l'application ?

@ rmevans9 dans mon cas, le conditionneur fonctionnait comme toujours. La solution que j'ai publiée est effectuée pendant que le conditionneur et l'application sont en cours d'exécution. C'est le seul moyen que j'ai trouvé à ce jour pour gérer cela. Je crois qu'il y a quelque chose qui ne va pas lorsque les modules sont installés sur react-native init. Je dois faire quelques tests avant de l'assurer

Oui, le conditionneur est déjà en cours d'exécution. Je peux y accéder via le navigateur

Je vois aussi ce problème sur RN 0.42.0

+1

Même problème et je lance "npm install" et "react-native run-ios", le problème ne semble pas encore résolu.

Je vois le même problème @ 0.42.0 et
"npm install" ne le résout pas.

Mon problème a été résolu en ajoutant NSAllowsLocalNetworking à Info.plist

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
        <key>NSAllowsArbitraryLoadsInWebContent</key>
        <true/>
        <key>NSAllowsLocalNetworking</key>
        <true/>
    </dict>
</key>

Je ne suis pas sûr que ce soit à cause du problème RN0.42 ou iOS, mais c'est résolu dans mon cas.

Vérifiez si vous avez 127.0.0.1 localhost dans vos hôtes, nettoyez le projet et réessayez, cela a fonctionné pour moi.

Bien sur que oui. je suis développeur web lol

Envoyé de mon iPhone

Le 12 mars 2017, à 4h35, AkiVer [email protected] a écrit :

Vérifiez si vous avez 127.0.0.1 localhost dans vos hôtes, nettoyez le projet et réessayez, cela a fonctionné pour moi.


Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub ou désactivez le fil de discussion.

J'ai trouvé une solution de travail, essayez-le. Pendant que le simulateur est en cours d'exécution, ne fermez pas votre bundler. Accédez au chemin et exécutez npm install puis à nouveau react-native run-ios. Cela a commencé à fonctionner pour moi.

j'ai rencontré ce problème après avoir déplacé mon projet dans un autre répertoire et exécuté le simulateur ios

Cela fonctionne pour moi: laissez le simulateur en cours d'exécution, laissez la fenêtre du terminal du conditionneur activée et exécutez à nouveau les run-ios natifs réactifs.

Cela signifie également le "Port déjà utilisé"

Terminer un processus sur le port 8081

Exécutez la commande suivante sur un Mac pour trouver l'ID du processus qui écoute sur le port 8081 :

$ sudo lsof -i :8081

Exécutez ensuite ce qui suit pour terminer le processus :

$ kill -9 <PID>

veuillez essayer de résoudre le problème dans le lien ci-dessous
https://facebook.github.io/react-native/docs/troubleshooting.html

Merci,
Dhiraj

Je laisse juste ça ici, au cas où d'autres personnes tomberaient sur la même cause.

Dans le cas de notre équipe, lors de la migration vers la version 0.42.0, nous avons accidentellement supprimé la phase de construction "Bundle React Native code and images" du projet XCode.

Le rajout manuel de la phase a résolu le problème, mais nous nous demandons quand et comment la phase a été supprimée.

sglearner_xcodeproj

fonctionne pour moi lorsque je crée l'application via xcode ...

Même problème. J'ai défini le schéma sur Release dans Xcode et j'essaie d'archiver l'application pour la production, mais main.jsbundle ne génère pas...

J'ai eu la même erreur et j'ai pu exécuter l'application uniquement via Xcode. react-native run-ios n'a pas fonctionné. Pour résoudre le problème, vous devez supprimer le dossier de construction YOUR_PROJECT/ios/build/ . Après cela, vous devriez pouvoir exécuter à nouveau votre application via react-native run-ios . J'espère que cela t'aides.

Pour la configuration de débogage, qui est la valeur par défaut lorsqu'un nouveau projet est généré avec la commande react-native init , la construction ne génère pas de fichier bundle mais utilise à la place le packager pour cela. Le problème est donc lié aux paramètres réseau et est très probablement lié aux paramètres de proxy. Si un proxy est utilisé, n'oubliez pas de définir un proxy de contournement pour les adresses localhost et 127.0.0.1.

Pareil ici... Réinstaller les packages de nœuds n'est pas une bonne solution

Dans mon cas, c'était parce que j'utilisais Shadowsocks (étant en Chine pour le moment) et que je ne l'avais pas configuré pour contourner 127.0.0.1 et localhost. Merci @om2pkral d'avoir mentionné cela.

Dans mon cas, rien n'était affiché sur l'autre terminal qui a démarré lorsque react-native run-ios a été exécuté.
Cela signifie que le conditionneur n'est pas en cours d'exécution.

J'ai donc pu démarrer packager en exécutant PROJECT_DIR/node_modules/react-native/packager/launchPackager.command moi-même.
Je lance à nouveau react-native run-ios , il a démarré normalement.

Je ne connais pas la cause, mais le comportement de la commande open ci-dessous est douteux.
https://github.com/facebook/react-native/blob/f48b54bf6211dbbdd32839b0de68b1d0a451e486/React/React.xcodeproj/project.pbxproj#L2421

Merci à @om2pkral et @account-archived-270316 ,Shadowsocks en mode global cause le problème ; Si vous utilisez un proxy, essayez de le fermer ;

Je suis passé de 42.0 à 42.2 et j'ai eu cette erreur avec mon déploiement de vol d'essai. J'ai supprimé le répertoire de construction ET ajouté <key>NSAllowsLocalNetworking</key>... <true/> et il a recommencé à fonctionner. Je ne sais pas lequel des 2 était la magie cependant. Je vais assumer le 1er et supprimer le changement info.plist.

J'ai lancé "react-native run-ios" dans un second temps, ça s'est bien passé.

consultez votre hôte local
êtes-vous ouvert ss? quand j'ai rencontré ce problème, j'ai découvert que j'avais ouvert mon vpn

J'ai un problème similaire avec RN 0.40, il ne peut pas générer le bundle en mode release. Il s'arrête avec erreur
`Worker Farm : Message reçu pour un index inconnu pour un enfant existant. Cela ne devrait pas arriver !

Erreur de syntaxe : jeton inattendu : point (.)`
et je ne comprends pas où se trouve l'erreur, mais est-ce l'étape du bundle réactif natif qui échoue

@yustada L'ajout de la clé NSAllowsLocalNetworking a résolu mon problème mais maintenant ma clé NSAllowsArbitraryLoads ne semble plus fonctionner (je ne peux plus charger d'images http par exemple). Une idée?

Je reçois le même problème. Mais je l'ai résolu, car j'ai un proxy ouvert. Vous pouvez peut-être vérifier si vous ouvrez le proxy réseau et vous assurer que vous l'avez fermé.

Désolé pour la question stupide, mais que voulez-vous dire par proxy ouvert ? Je ne pense pas avoir ouvert de proxy réseau, mais je suppose que c'est peut-être sous le capot. Comment puis-je le vérifier et l'arrêter?

Peut-être que nous sommes dans un environnement différent. Je n'ai pas ce problème hier et avant, mais j'obtiens cette erreur aujourd'hui parce que j'ai ouvert un logiciel proxy shadowsocks qui servait de proxy. Donc, quand je l'éteins, tout va bien. Je ne sais pas si vous rencontrez le même problème. L'application RN en mode de débogage local téléchargerait le bundle à partir de l' hôte local: localhost , donc si j'ai utilisé l'agence réseau, elle ne peut pas trouver l'hôte local. Je ne sais pas si vous comprenez ce que je dis ? mauvais anglais.

@yustada votre solution ( ici ) résout mon problème. Je pense que mettre ce paramètre corrigera quelque chose de cassé dans Xcode. Tous mes projets ne sont pas déboguables !

Apparemment avec la nouvelle version qui fonctionne (2.8.13), j'ai suivi les différentes solutions et supprimé du code problématique de mon projet et ça va mieux maintenant. Le problème est que uglify et en général l'environnement de publication sont différents de l'environnement de développement. MAIS uglify a rendu impossible le débogage, pour savoir où était le problème, j'ai dû creuser très profondément pour améliorer le débogage.

Sous Mac, lorsque j'active le proxy, j'obtiens ce problème, désactivez le proxy tout va bien.

Pour moi, le problème était qu'il ne pouvait pas créer le bundle JS. Il n'indique pas l'erreur lors de la construction à partir de Xcode, vous n'avez donc aucun moyen de le savoir. Pour trouver l'erreur, exécutez la commande suivante.

react-native bundle --platform ios --dev false --entry-file index.ios.js --bundle-output ./ios/release/main.jsbundle --assets-dest ./ios/release/main.jsbundle

Pour moi, l'erreur était quelque chose avec le composant PureRenderMixin manquant. À laquelle la solution peut être trouvée ici : https://github.com/facebook/react-native/issues/13078. Fondamentalement, vous devez installer manuellement [email protected]. Cela peut être fait en exécutant cette commande.

npm i --save [email protected]

Ce problème se produit maintenant pour tout le monde parce que de nouvelles versions de réactifs alpha sont publiées (en particulier alpha.5) et qu'elles cassent les versions réactives natives.

De la même manière que @akiver , j'ai résolu le problème.

$ sudo vi /private/etc/hosts

# Add this line
127.0.0.1       localhost

J'ai suivi les étapes décrites par @cutemachine , travaillé pour moi. Bien qu'avant cela, ait également fait l'habituel rm -rf node_modules, réinitialisé le cache du conditionneur.

2017-03-29 10 29 35

C'est le problème des agents de réseau, vous pouvez vérifier si l'utilisation de leur propre réseau sur les outils muraux

J'ai mis l'agent Shadowsocks du modèle global du modèle global en mode proxy automatique dessus

2017-03-29 10 30 53

Et puis react-native run-ios

2017-03-29 10 34 55

@Binb1
Avez-vous essayé NSAllowsArbitraryLoadsForMedia et NSAllowsArbitraryLoadsInWebContent ?

Certains paramètres ATS ont été ajoutés pour iOS 10.0 et versions ultérieures et dans macOS 10.12.
https://forums.developer.apple.com/thread/6767

J'obtiendrai cette erreur au hasard pour presque aucune raison (ne pas exécuter de proxy, ne pas apporter de modifications folles au projet). Pour le réparer, je vais supprimer mon node_module, puis re npm install et ça marche. Mais c'est un peu inquiétant que cela se produise de manière si aléatoire.

La méthode @cutemachine fonctionne pour moi aussi :) merci

Cela a fonctionné pour moi lorsque j'ai lancé le simulateur depuis Xcode 🤔

@acomito
Probablement parce que vous exécutez le numéro de port natif 8081 est occupé, par exemple, utilisez un autre logiciel, vous pouvez regarder le prochain essai

devait exécuter sudo xcodebuild -license comme indiqué dans le message d'erreur :

"Accepter la licence Xcode/iOS nécessite des privilèges d'administrateur, veuillez exécuter "sudo xcodebuild -license" puis réessayer cette commande."

Fonctionne maintenant

Assurez-vous que votre fichier hosts contient 127.0.0.1 localhost. J'ai découvert que d'une manière ou d'une autre j'ai réussi à le supprimer. Une fois que je l'ai rajouté, le problème a été résolu.

J'ai essayé React Native pour la première fois hier et le même problème s'est posé à moi.

C'est ce que j'ai déjà essayé :

  • exécutant "react-native run-ios" et pendant l'erreur "npm install" et relancez "react-native run-ios"
  • suppression de "node_modules/" et "npm install"
  • ajouter les éléments "NSAllowsLocalNetworking" mentionnés ci-dessus à Info.plist
  • l'exécuter via Xcode

Remarques:

  • "127.0.0.1 localhost" est dans mes hôtes
  • à ma connaissance, je n'ai jamais configuré de proxy réseau sur ce Mac
  • Version du nœud : v6.4.0
  • Version Xcode : 8.3 (8E162)
  • Système d'exploitation : macOS Sierra 10.12.3 (16D32)

Toute aide serait appréciée Merci.

J'ai le même problème lorsque je déplace le projet dans un autre dossier vide.
mais cela peut fonctionner lors du lancement du simulateur depuis Xcode.

finalement résolu par:

  1. supprimez le dossier de construction YOUR_PROJECT/ios/build/
  2. run react-native run-ios a obtenu une autre erreur, on dirait que la construction n'est pas terminée. 😕
  3. exécutez à nouveau les run-ios natifs réactifs

@skywlkr @haikyuu peut-être utile

ne modifiez pas info.plist.
car le simulateur a besoin d'une importation de package depuis localhost.

@lany44 malheureusement ça ne marche toujours pas. mais merci.

J'ai essayé à peu près toutes les combinaisons de solutions ici et aucune d'entre elles n'a fonctionné. La seule façon d'être opérationnel était d'ouvrir deux sessions de terminal dans le répertoire du projet, d'exécuter npm start dans la première, puis d'exécuter react-native run-ios dans la seconde.

Je ne me souviens pas avoir dû le faire il y a un mois ou deux lorsque j'ai commencé à jouer avec cela - peut-être y a-t-il une régression dans la façon dont le serveur d'emballage est démarré s'il n'est pas déjà en cours d'exécution?

@ngmiller a travaillé pour moi !

@ngmiller a également essayé votre solution, mais ne fonctionne toujours pas. Je commence à devenir fou.

@skywlkr Très frustrant. J'ai perdu plusieurs heures dessus hier. Peut-être une question stupide, mais avez-vous essayé à partir d'un projet complètement nouveau ?

oui, je l'ai essayé avec un tout nouveau projet

J'ai le même problème que @skywlkr et j'obtiens les mêmes résultats. J'ai essayé toutes les suggestions ici mais malheureusement aucune d'entre elles n'a fonctionné.

J'ai eu cette erreur et c'était dû à mon fichier d'espace de travail xcode. J'ai eu de la chance car je n'avais pas beaucoup travaillé dans l'espace de travail, alors je l'ai supprimé et maintenant il se construit.

POS WTF .. Je suis coincé avec cette merde depuis 2 jours. Le gars ci-dessus a raison, je rencontre exactement le même problème.

@ezos86 Je te comprends totalement. Je vais essayer de lui donner une autre chance dans les prochains jours et je ferai un retour.

J'ai le même problème lorsque j'essaie de dupliquer Lightbox qui fait que double fournitModule le même nom.

/**
 * <strong i="6">@providesModule</strong> LightboxOverlay
 */

Et je corrige en supprimant le module fournit puis j'appelle à nouveau react-native run-ios .

Quelqu'un pourrait-il fournir un indice? Ce serait vivement apprécié.

@skywlkr , j'ai réessayé la solution mentionnée par @ mac2066 de changer la variable jsCodeLocation et cela a fonctionné. Je ne l'ai pas essayé avec une application qui a des images locales, etc. donc je peux ou non rencontrer des problèmes là-bas, mais au moins hello world fonctionne maintenant sur le Mac. Des informations plus détaillées sont ici si vous en avez besoin. Bonne chance.

@ dcp12345678 merci pour le conseil, cela fonctionne vraiment - au moins comme solution temporaire. merci également @ mac2066 pour l'avoir découvert.

La mise à niveau de bash (vers la dernière version 4.4.12) via Homebrew m'a aidé. Utilisez brew upgrade bash

@ngmiller Cela a fonctionné pour moi ! Merci!

Cela m'est arrivé après l'installation de certains plugins.

Je l'ai corrigé en faisant ceci;

  1. npm cache clean
  2. react-native run-ios - cela s'exécuterait et afficherait ensuite l'erreur _No bundle url present_
  3. Réexécutez _(avec le simulateur toujours en cours d'exécution)_ react-native run-ios

Semble réparer tout ce qui se passait et me permet de simuler à nouveau à partir de Xcode

@hisshash Merci, votre solution a fonctionné.

Dans mon cas, le problème a été résolu en redémarrant le serveur adb : adb kill-server && adb start-server

@hisshash J'ai aussi dû exécuter react-native run-ios deux fois. react-native semble inquiétant non déterministe

Je rencontre ce problème dans mon projet aussi, il est résolu de la manière suivante :
modifiez cette zone dans your-project/ios/your-project-name/Info.plist :
<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict/> </dict>
ajoutez-y le commentaire suivant :
<key>NSAllowsLocalNetworking</key> <true/>
du tout, le total aime ça, ce problème se termine.
<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict/> <key>NSAllowsLocalNetworking</key> <true/> </dict>

Utilisez-vous React-Native-Flux-Router ?

J'ai trouvé la solution à mon problème ici :
http://stackoverflow.com/a/43875440/5439517

Supprimez "node_modules > react-native-router-flux > node_modules > react-native". Exécutez react-native run-ios et cela devrait fonctionner.

Mon fichier main.jsbundle n'était pas généré. La cause était que dans l'étape des phases de construction, le shell par défaut de xcode est /bin/sh qui ne prend pas en compte mon utilisation de nvm. Le script échouait silencieusement pour une raison quelconque, car il exécutait une version beaucoup plus ancienne du nœud installé sur mon système, 0.10.22. Le passage du shell à ZSH a entraîné la création de main.jsbundle pour les versions de version
vibe_xcodeproj

@davidtrogers Cela a également résolu mon problème à 100%. J'ai complètement oublié NVM.

J'ai installé react-native sur ma machine Mac aujourd'hui et j'ai rencontré le même problème lors de l'exécution react-native run-ios pour la deuxième fois et au-delà. La solution de contournement pour moi est rm -rf ios/build , mais cela ralentira considérablement mon cycle de développement normal.

Certains points à noter sont que j'installe node via nvm au lieu de homebrew. De plus, j'utilise du fil au lieu de npm pour ma gestion de paquets. Cela signifie que j'ai exécuté yarn global add react-native-cli au lieu de npm install -g react-native-cli et yarn install au lieu de npm install . Cela vaut la peine d'être noté car je ne vois pas du tout de fil mentionné dans ce numéro. Y a-t-il une sorte d'incompatibilité que je viens de rencontrer?

D'accord, je pense avoir limité mon problème à un cas spécifique de reproduction à 100 %.

Ce problème ne se produira que si j'exécute react-native run-ios une fois de plus après avoir fermé l'onglet/la fenêtre du terminal lancé par React Packager. L'écran rouge de l'émulateur avec le message d'erreur apparaît dans ce cas. Cependant, si je garde cet onglet/fenêtre React Packager ouvert et que j'exécute à nouveau react-native run-ios , l'émulateur lancera maintenant l'application sans erreur. De plus, chaque fois que j'exécute react-native run-ios avec l'onglet React Packager ouvert, l'émulateur continuera toujours à fonctionner correctement.

Une observation clé à faire est une corrélation entre si la ligne de sortie suivante dans l'onglet React Packager apparaît et si ce problème se produit :

Regroupement index.ios.js ... c'est fait.

Cette ligne n'apparaîtra pas lorsque l'émulateur génère une erreur avec le message "URL de l'ensemble non présente", mais apparaîtra lorsque l'émulateur réussit.

J'espère que ça aide. Ennuyeux, mais au moins j'ai trouvé un moyen d'accélérer mon workflow de développement. Peut-être s'agit-il d'un bug sur React Packager ?

d'abord, ping 127.0.0.1 si 64 octets de 127.0.0.1 : icmp_seq=2 ttl=64 time=0,068 ms

deuxièmement, ping localhost, si votre adresse IP d'analyse localhost n'est pas celle de votre ordinateur, nous trouvons le problème, raison : votre hôte local a été modifié,

troisième --- vous devez modifier votre ordinateur 127.0.0.1 avec localhost, ouvrez /etc/hosts
et paramétrez par exemple : enregistrer, recharger votre Internet Explorer

1 ##
2 # Base de données hôte
3 #
4 # localhost est utilisé pour configurer l'interface de bouclage
5 # lorsque le système démarre. Ne modifiez pas cette entrée.
6 ##
7 127.0.0.1 hôte local

URL d'explication détaillée : http://www.webkaka.com/tutorial/server/2013/121611/

@lishiping merci pour la suggestion, mais ce n'est pas mon problème. Je n'ai pas modifié mon fichier /etc/hosts et je peux très bien ping localhost .

RN = 0,43,3
Xcode = 8.3.2
Mac OS = Sierra 10.12.5

Je reçois "Aucune URL de bundle présente." uniquement lorsque vous essayez d'exécuter en mode de publication dans xcode. Je peux exécuter l'application correctement en mode débogage.

J'ai exécuté react-native bundle --platform ios --dev false --entry-file index.ios.js --bundle-output ios/main.jsbundle et cela me donne l'erreur suivante :

Unexpected token: keyword (default)

Il n'affiche aucun numéro de ligne ou fichier d'où pourrait provenir l'erreur. Existe-t-il un meilleur moyen d'obtenir plus de contexte autour de cette erreur ?

J'ai également essayé de supprimer le dossier de construction, npm run clean, supprimer le dossier node_modules, l'installation de fil sans succès.

Cette même version exacte fonctionnait pour moi il y a quelques jours, donc je ne sais pas ce qui a changé. Je suis toujours sur la même version de MacOS, xcode et react native.

Je rencontre un problème similaire à celui de @zachrnolan , bien que dans mon cas, Android et iOS soient tous deux affectés sur notre CI.

Sur Android, les builds échouent pendant la phase :bundleReleaseJsAndAssets , me donnant le message Unexpected token: keyword (default) .
Sur iOS, les builds réussissent, mais le bundle ne semble pas être inclus à cause de cette même erreur (que j'ai pu trouver quelque part dans les énormes journaux xcodebuild).

Cela ne semble se produire que pour les versions, et dans mon cas, je n'ai en aucun cas été en mesure de reproduire cela localement.

@zachrnolan , le problème s'est résolu pour moi. J'ai pensé que je te le ferais savoir.

@stinodes J'ai pu résoudre ce problème en mettant à niveau le gardien, très étrange.

Voici les étapes que j'ai suivies :

  • brew update
  • brew unlink watchman
  • brew install watchman
  • J'ai couru npm run clean que j'ai configuré pour faire ceci:

    rm -rf ios/build; rm -rf ios/build; rm -rf android/build; rm -rf android/app/build; rm -rf $TMPDIR/react* ; rm -f ios/main.jsbundle; rm -rf node_modules; rm yarn.lock || true; npm cache clean; yarn cache clean

  • yarn install ou npm install , si vous n'utilisez pas de fil

J'espère que cela aidera d'autres personnes ayant le même problème. J'ai également un message de débordement de pile ici : http://stackoverflow.com/questions/43993590/react-native-no-bundle-url-present-release-mode-only

Merci @cutemachine , ça a marché pour moi.

@zachrnolan un problème que j'ai avec vos étapes est que la dissociation de Watchman, puis son installation ne fera rien. De plus, watchman ne sera même plus dans le PATH car il n'est pas lié. Voici la sortie de brew install watchman , que j'attendais :

$ brew install watchman
Attention : watchman-4.7.0 est déjà installé, il n'est tout simplement pas lié.

Néanmoins, après avoir suivi vos instructions, je rencontre toujours cette erreur. J'espère que quelqu'un de l'équipe de développement principale de React-Native pourra aider à résoudre ce problème.

C'est la première fois que j'utilise React Native et je suis toujours en train de parcourir le guide de démarrage.
Chaque fois que je lance react-native run-ios , j'obtiens l'erreur No bundle URL present .

Je le résous par :

  • Vérification de l'arrêt des sessions précédentes du serveur React Native. Si vous les exécutez sur le port 8081, tuez-le avec :
kill $(lsof -t -i:8081)
  • Exécutez ce qui suit au lieu de simplement react-native run-ios pour supprimer le répertoire de construction iOS avant la reconstruction.
rm -rf ios/build/; react-native run-ios
  • En combinant ce qui précède et en ajoutant les commandes à un alias dans mon fichier de configuration Bash .bashrc
echo "alias rni=\"kill \$(lsof -t -i:8081); rm -rf ios/build/; react-native run-ios\"" >> ~/.bashrc
source ~/.bashrc

Maintenant, je peux exécuter la version React Native iOS avec juste la commande sans me soucier des écrans d'erreur rouges communs de la mort :


Je me demande pourquoi React Native donne simplement cette erreur aux utilisateurs au lieu de simplement faciliter la vie du développeur en corrigeant automatiquement l'erreur et en rechargeant ?

J'obtiens à nouveau la même erreur/écran rouge, "Aucune URL de bundle présente" mais cette fois, la cause était une erreur de syntaxe dans mon JS. Je pense que l'un des problèmes est que l'erreur n'apparaît pas dans la sortie du packager et que le bundler échoue silencieusement. La seule indication que j'ai que le bundle n'est pas généré provient de la sortie Xcode ci-dessous :

movie_recording

vibe_xcworkspace

davidtrogers_ _davidtrogers__macbook-pro-3__68_3_13_5_ _tmux_-2_at_ _238x62

J'utilise zsh avec nvm sur MacOS 10.12.4. J'ai téléchargé react native pour la première fois il y a 2 jours et j'ai installé watchman il y a 2 jours, donc je suppose que j'exécute les versions les plus récentes.

J'obtiens le même écran rouge chaque fois que j'exécute react-native run-ios .

Si je lance simplement cette commande, une nouvelle fenêtre de terminal s'ouvre mais rien ne semble se produire, puis j'obtiens cet écran rouge de la mort avec la même notification. lsof -t -i:8081 ne renvoie rien. Il semblerait donc que react-native run-ios ne démarre pas le conditionneur.

Cependant, si dans une fenêtre/fenêtre tmux séparée, j'exécute npm start , le conditionneur commence à s'exécuter, puis exécute react-native run-ios tout va bien dans le monde et tout commence bien.

Donc je pense que react-native run-ios dans les versions les plus récentes de mac/xcode/react-native, le conditionneur ne démarre pas.

Ce problème est devenu un peu incontrôlable et je ne suis pas convaincu que tout le monde ici rencontre le même problème. Cela a à voir avec le fait que l'erreur peut apparaître pour l'une des multiples raisons.

Je vous encourage vivement à ouvrir un nouveau problème si vous rencontrez ce problème et êtes convaincu qu'une solution n'est pas déjà fournie dans ce fil.

@ powercoder23 quand j'essaie ta méthode j'obtiens :
manager psoulages$ kill -9
-bash : erreur de syntaxe près du jeton inattendu `newline'

Pourquoi est-ce fermé alors que cela se produit encore ?

Face au même problème.

Je viens de tout installer et de créer une nouvelle application sur mon Mac conformément à la documentation. Lors de l'exécution react-native run-ios , une erreur similaire aux écrans ci-dessus s'affiche.

Comment allons-nous créer une application complète si nous obtenons une erreur lors de la première exécution pour un exemple documenté simple :(

@ sukhvir1313 Oui, c'est embarrassant et rebuterait les débutants et même les développeurs expérimentés.

@hramos , le fil de discussion ne serait-il pas fermé uniquement après avoir résumé qui a résolu le problème et comment? Si le problème est dû à un message d'erreur ambigu qui pourrait apparaître pour l'une des multiples raisons, alors pourquoi ne pas simplement ajouter ce problème courant à la FAQ React Native, fournir un lien vers celui-ci dans ce fil, puis créer un Action consistant à donner à un développeur open source la possibilité de mettre à jour les parties pertinentes de la base de code React Native pour fournir des messages d'erreur plus spécifiques et significatifs, en particulier s'il affecte autant d'utilisateurs, même de tout nouveaux utilisateurs. Si j'avais des conseils, je serais plus qu'heureux d'essayer d'aider à résoudre ce problème, mais par où commencer ?

J'ai le même problème de bundle ("Aucune URL de bundle présente").
Essayez cette commande, dans le dossier racine du projet.
react-native upgrade
puis
react-native run-ios
Cela a fonctionné pour moi.

@ltfschoen , ce problème est devenu un fourre-tout pour tout ce qui entraîne une erreur "Pas d'URL de bundle". C'est difficilement exploitable. En encourageant l'ouverture d'un nouveau problème pour quiconque rencontre ce problème, nous pouvons, espérons-le, nous concentrer sur l'identification des bogues restants. Quant à la FAQ, je m'en remets aux personnes actives sur ce fil.

Assurez-vous que votre shell par défaut est bash, car la commande export NODE_BINARY=node est nécessaire.

consultez votre fichier localhost at hosts dans "/etc/hosts"
dans mon cas, la résolution de l'hôte local en 127.0.0.1 a complètement résolu le problème

@coolboy88 le correctif que vous suggérez dans /etc/hosts a déjà été suggéré dans ce numéro. Et il a déjà été signalé dans ce numéro que cela ne suffisait pas à résoudre le problème, y compris dans mon propre cas.

@coolboy88 & @ecbrodie : La suggestion de coolboy88 a fonctionné pour moi. Merci :)

Avait le même problème ici. Ce qui se passait sur ma configuration était un problème d'autorisation, j'ai dû exécuter la commande suivante dans le dossier du projet :
sudo chown -R myuser:staff myfolder
Après cela, react-native run-ios et il a fonctionné avec succès.

Quand je l'ai souffert, j'ai résolu avec suivre

rm -rf ios/build
react-native run-ios

La première fois que j'ai rencontré des problèmes en utilisant la commande "init". Ce soir, j'ai reçu l'erreur "Aucune URL de bundle présente". C'était sur un tout nouvel iMac, une nouvelle installation d'OSX et une nouvelle version de Xcode.

Après avoir parcouru divers articles ici, j'ai supposé qu'il (le simulateur) devait pouvoir accéder à localhost: 8081 sur lequel le conditionneur fonctionnait. Pour une raison quelconque, Safari ne résolvait pas localhost et le simulateur iOS non plus (bien que d'autres navigateurs convenaient). Je n'ai toujours pas compris et j'ai fini par modifier AppDelegate.m pour utiliser 127.0.0.1 à la place (grâce à un message ci-dessus):

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

Je ne sais pas si c'est une très bonne solution tbh (pas un fan de harcoding). Mais cela a fonctionné.

Pour moi courir la deuxième fois, tout s'est bien passé ! :) à votre santé

@colorfulberry , après avoir renommé mon projet, votre réponse m'a aidé, merci

Cela a juste fonctionné pour moi en ajoutant export REACT_NATIVE_FSOP_TIMEOUT=150000 à la phase de construction "Bundle React Native code and images". La valeur par défaut est 15000 et mon application avait des trucs VR et un MP4 de 60 Mo.

Je rencontre cette erreur presque à chaque fois après avoir exécuté react-native run-ios . Ma soluce :
Gardez le packager et le simulateur en cours d'exécution, et exécutez à nouveau les run-ios natifs réactifs dans le terminal.

Comme @ Adamnator92 l' a dit, j'ai reçu la même erreur lorsque j'ai renommé mon répertoire de projet. J'avais des lettres majuscules et j'ai renommé le répertoire en minuscules lorsque ce problème a commencé. Lorsque je l'ai renommé pour qu'il ait les lettres majuscules d'origine, tout a recommencé à fonctionner.

Je ne rencontrais aucun problème hier, puis j'ai rechargé l'application aujourd'hui et j'ai eu cette erreur.

J'ai changé NSAppTransportSecurity comme @yistada mentionné ci-dessus, et il a été construit. Ensuite, je l'ai changé en arrière, et il a de nouveau été construit avec succès. Je suis très confus quant à la façon dont cela s'est produit.

Pas de problème lorsque je construis via xcode.

Voir : https://www.youtube.com/watch?v=e-2KARCog18

Je viens de rencontrer à nouveau ce problème après l'avoir fait fonctionner la semaine dernière, en utilisant une combinaison des différentes solutions ici (y compris la rétrogradation vers la v0.44.2)

Ce matin, mon certificat de signature a expiré et j'ai dû en générer un nouveau dans Xcode. Sans rien changer d'autre, il a cessé de fonctionner après la création de l'application avec le nouveau certificat.

Exécuter rm -rf node_modules puis npm install semblait résoudre le problème

Vous pouvez parfois obtenir cette erreur si vous n'exécutez pas npm link

J'ai renommé index.ios.js en index.js et cette erreur apparaît pour l'exécution de la version Xcode. Le renommer en index.ios.js résout le problème.

J'ai rencontré la même chose parce que dans mon application, je chargeais WebView avec src à partir d'un fichier local.
après avoir modifié mon Info.plist avec la solution de @yistada , mon problème a été résolu.


NSExceptionDomains

hôte local

NSExceptionAllowsInsecureHTTPLoads


NS autorise les charges arbitraires

NSAllowsArbitraryLoadsInWebContent

NSAutorise le réseau local

(pour iOS)
Dans mon cas, je pouvais exécuter sur un simulateur, mais j'échouais sur l'appareil ou la version de version.
C'était parce que mon script manquait dans les phases de construction et que jsbundle n'était pas généré.
J'ai ajouté le script "Bundle React Native code and images" comme ceci : (Shell : /bin/sh)

export NODE_BINARY=node
../node_modules/react-native/packager/react-native-xcode.sh

*"packager" pourrait être des "scripts" basés sur la version réactive native. Vous pouvez vérifier le dossier /node_modules/react-native/ et en choisir un existant.

Après avoir parcouru tous ces commentaires, je n'ai trouvé aucune solution qui fonctionnait pour moi. Mon terminal de conditionneur a une erreur de propagation es6 et je pense que c'est lié au problème #14858. J'exécute ce qui suit :

nœud : 6.11.1
npm : 3.10.10
natif de réaction : 0.46.3

J'espère qu'ils résoudront ce problème bientôt, car je ne peux même pas lancer et exécuter un exemple d'application. J'ai l'impression que c'est un problème majeur

vérifiez la configuration de votre proxy réseau.

n'utilisez pas le mode global shadowsocks est un mot pour moi.

J'ai rencontré ce problème après avoir arrêté la simulation et voulu la redémarrer. J'avais tué la simulation en utilisant sudo lsof -i:8081 et kill -9 <pid> sur les pid renvoyés par la première commande.

Le correctif consistait littéralement à exécuter react-native run-ios trois fois. A chaque fois, ça avançait.

Publiez ceci principalement pour vous avertir que vous voudrez peut-être simplement essayer d'utiliser la commande run plusieurs fois avant de conclure que quelque chose d'autre est faux.

<key>NSExceptionDomains</key>
 <dict>
      <key>localhost</key>
      <dict>
           <key>NSExceptionAllowsInsecureHTTPLoads</key>
           <true/>
      </dict>
 </dict>

-- Parfois, à la sortie, nous changeons localhost au domaine de notre API, nous le remodifions simplement sur le schéma de débogage en localhost. travaille pour nous.

J'ai littéralement tout essayé pour que cela fonctionne et cela s'est finalement soldé par la fermeture de XCode et le redémarrage de mon Mac.

npm 4.2.0
nœud v8.0.0
réagir-natif-cli 2.0.1
mac OS 10.12.5

image
Aucune des méthodes ci-dessus n'a résolu mon problème. . .Que faire

Pour moi, c'était le résultat de l'utilisation de fil pour installer ignite, puis de l'installation de npm. Étant donné que ignite nécessite du fil, tout fonctionne très bien si j'exécute yarn add plutôt que npm install . Donc, dans l'ensemble, vous pourriez rencontrer des problèmes si vous utilisez différents gestionnaires de packages.

Supprimez le dossier de construction et la construction a de nouveau fonctionné pour moi.

rm -rf ios/build
react-native run-ios

J'ai eu le même problème que @cesarkawakami : le "Bundle React Native code and images" avait disparu de mon onglet Build Phases dans XCode lors de la mise à niveau de 0.45 à 0.46.

Après avoir examiné mon fichier project.pbxproj, il s'avère que la commande react-native-git-upgrade a modifié la définition de la phase "Bundle React Native code and images", a changé son identifiant, mais n'a pas réussi à mettre à jour la liste Build Phase avec le nouvel identifiant.

Si vous rencontrez le même problème, vous pouvez rechercher la chaîne "Bundle React Native code and images" dans votre fichier project.pbxproj et vous assurer que les identifiants correspondent.

@pvanliefland - Pouvez-vous s'il vous plaît indiquer les étapes à suivre pour modifier "Bundle React Native code and images". Je suis coincé dans ce problème depuis des semaines et j'ai essayé les étapes mentionnées ci-dessus, mais rien ne semble fonctionner. Lorsque j'ai créé un exemple de projet et que j'ai essayé de l'exécuter, le projet simple fonctionne correctement.

npm start a résolu ce problème pour moi. Une idée pourquoi cela n'a pas été appelé automatiquement sur react-native run-ios ?

@Amritakeshre - avez-vous pu l'exécuter en mode release ?

Cours:
veilleur watch-del-all
puis lancez :
début npm

Salut tout le monde,

J'obtiens cette erreur avec la dernière version de React Native lors de l'exécution

"réagir-native run-ios"

J'ai essayé différentes manières, ça n'a pas marché :(

Déballage de /Users/eric/.rncache/glog-0.3.4.tar.gz...

/Users/eric/Documents/Codes/react-native/Test123/node_modules/react-native/scripts/ios-install-third-party.sh :
ligne 28 : /Users/eric/Documents/Codes/R : aucun fichier ou répertoire de ce type

/Users/eric/Documents/Codes/react-native/Test123/node_modules/react-native/scripts/ios-install-third-party.sh :
ligne 28 :
D/react-native/Test123/node_modules/react-native/scripts/ios-configure-glog.sh :
Aucun fichier ou répertoire de ce nom

* ÉCHEC DE CONSTRUCTION *

Les commandes suivantes ont généré des problèmes d'analyseur :
Analyser
/Users/eric/Documents/Codes/react-native/Test123/node_modules/react-native/ReactCommon/yoga/yoga/Yoga.c

Analyze

/Users/eric/Documents/Codes/react-native/Test123/node_modules/react-native/ReactCommon/yoga/yoga/YGNodeList.c
(2 commandes avec des problèmes d'analyseur)

Les commandes de compilation suivantes ont échoué :
PhaseScriptExecution Installer un tiers
/Users/eric/Documents/Codes/react-native/Test123/ios/build/Build/Intermediates/React.build/Debug-iphonesimulator/double-conversion.build/Script-190EE32F1E6A43DE00A8543A.sh
(1 échec)

Installation de build/Build/Products/Debug-iphonesimulator/Test123.app
Une erreur s'est produite lors du traitement de la commande (domain=NSPOSIXErrorDomain,
code=2) :
Échec de l'installation de l'application demandée
Un groupe d'applications n'a pas été trouvé dans le chemin fourni.
Fournissez un chemin d'accès valide au groupe d'applications souhaité.
Imprimer : L'entrée, ":CFBundleIdentifier", n'existe pas

Échec de la commande : /usr/libexec/PlistBuddy -c Print : CFBundleIdentifier
build/Build/Products/Debug-iphonesimulator/Test123.app/Info.plist
Imprimer : L'entrée, ":CFBundleIdentifier", n'existe pas

Une solution solide pour résoudre cela?

Merci.

Le mercredi 6 septembre 2017 à 17h41, 丶尘殇[email protected] a écrit :

Cours:
veilleur watch-del-all
puis lancez :
début npm


Vous recevez ceci parce que vous avez commenté.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/facebook/react-native/issues/12754#issuecomment-327431741 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AXIFs549pH9SyL5pF9jfirI9oX1fLjqSks5sfmjfgaJpZM4MVA0m
.

Je résous ce problème en ajoutant
127.0.0.1 localhost d'hôtes
Merci à tous.

J'ai résolu le problème en supprimant l'espace dans le nom du dossier du projet.

Oui, j'ai résolu cela aussi car l'un de mes dossiers a '&'.

Mais la partie bizarre, je vois toujours ça

///

/usr/bin/codesign --force --sign - --timestamp=none

/Users/eric/Documents/Codes/learn/reactnative/mySecondProject/ios/Build/Products/Debug-iphonesimulator/mySecondProject.app/PlugIns/mySecondProjectTests.xctest

* CONSTRUCTION RÉUSSIE *

Les commandes suivantes ont généré des problèmes d'analyseur :
Analyser /Users/eric/Documents/Codes/learn/reactnative/mySecondProject/node_modules/react-native/ReactCommon/yoga/yoga/YGNodeList.c
Analyser /Users/eric/Documents/Codes/learn/reactnative/mySecondProject/node_modules/react-native/ReactCommon/yoga/yoga/Yoga.c
(2 commandes avec des problèmes d'analyseur)

Installation de build/Build/Products/Debug-iphonesimulator/mySecondProject.app
Une erreur s'est produite lors du traitement de la commande
(domaine=NSPOSIXErrorDomain, code=2) :
Échec de l'installation de l'application demandée
Un groupe d'applications n'a pas été trouvé dans le chemin fourni.
Fournissez un chemin d'accès valide au groupe d'applications souhaité.
Imprimer : L'entrée, ":CFBundleIdentifier", n'existe pas

Échec de la commande : /usr/libexec/PlistBuddy -c Print : CFBundleIdentifier
build/Build/Products/Debug-iphonesimulator/mySecondProject.app/Info.plist
Imprimer : L'entrée, ":CFBundleIdentifier", n'existe pas

///

Donc run-ios ne fonctionnera pas.

Cependant, cela fonctionne si je cours sur xcode --> debug.

Juste avec de nombreux avertissements comme ci-dessous

https://imgur.com/a/TyBGa

Une idée de comment faire fonctionner run-ios?

j'utilise ceci

MacOS Sierra 10.12.6
Dernier Xcode 8.3.3
nœud 8.4.0
npm 5.4.1
réagir natif - testé à la fois 0.47.2 et 0.48.2
réagir-native-cli - 2.0.1
fil 0.20.0

J'ai aussi essayé ce qui suit et ça ne marche pas

  • téléchargeant manuellement tous les fichiers et stockés dans ~/.rncache
  • rm -rf npm_modules, puis exécutez "npm install"
  • réagir-native-git-upgrade
  • supprimez ios/build et exécutez à nouveau "react-native run-ios"

Merci.

Le mercredi 13 septembre 2017 à 6h15, rickcha [email protected] a écrit :

J'ai résolu le problème en supprimant l'espace dans le nom du dossier du projet.


Vous recevez ceci parce que vous avez commenté.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/facebook/react-native/issues/12754#issuecomment-328999588 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AXIFs_Ggnia4CGYkzHHatteucW3uHsr8ks5shwKEgaJpZM4MVA0m
.

L'ajout de localhost à NSAppTransportSecurity a fonctionné pour moi.


NSExceptionDomains

hôte local

NSExceptionAllowsInsecureHTTPLoads


votreapidomain.com

NSIncludesSubdomains

NSTemporaryExceptionAllowsInsecureHTTPLoads

NSAutorise le réseau local



La bonne vieille astuce "éteindre et rallumer" a fonctionné pour moi.

Redémarrer le simulateur (Matériel -> Redémarrer) a fonctionné pour moi.

J'ai trouvé le moyen le plus simple/le plus rapide de contourner cela est de quitter l'application dans le simulateur (2 x Cmd + Shift + H ) et de relancer.

Merci Yustad.
Cela a vraiment fonctionné sans aucun doute.

Si vous utilisez REACT-NATIVE-ROUTER-FLUX version < 4.0.0

Nous avons mis à niveau vers RN 0.47.2 et avons commencé à avoir cette erreur. Comme suggéré par @eemebarbe ci-dessus, nous avons supprimé le dossier react-native dans ~/node_modules/react-native-router-flux/node_modules et l'erreur a disparu. Nous sommes allés jusqu'à supprimer le dossier de réaction au même endroit. Nous n'avons rien eu à ajouter aux paramètres ATS dans le plist (nous n'avons que Autoriser les chargements arbitraires).

Cela a également fait un tas d'avertissements (déclarations en double) que le conditionneur lançait au lancement

J'ai eu la même erreur lors de l'exécution du projet à partir de xcode.
c'est résolu mon problème:
info.plist → Liste des propriétés d'informations → + Paramètres de sécurité du transport de l'application → + Autoriser les chargements arbitraires = OUI

Salut,

Problème : me donne une erreur lorsque j'essaie d'exécuter/d'installer l'application sur iPhone via Xcode. Fonctionne bien dans le simulateur (via la ligne de commande et Xcode)

Erreur:
img_0003

Version Xcode : 8.3.3
Testé sur simulateur iOS : iPhone 6S - OS 10.3
Appareil : iPhone SE - OS 10.2.1
natif de réaction : 0.45.1

J'ai également essayé de supprimer ios build de mon dossier project/ios.

Fonctionne bien pour Android ob à la fois appareil et émulateur.

De l'aide. Merci !!

Dans la plupart des cas, ce problème se produit lorsque la recherche DNS / la recherche IP ne parvient pas à trouver l'hôte local.

_Solution : _

Essayez d'ajouter l'adresse IP localhost à votre fichier hôte etc.
vous pouvez ajouter les lignes ci-dessous à votre fichier hôte etc (/etc/hosts)

127.0.0.1 hôte local
255.255.255.255 hôte de diffusion
::1 hôte local

_## Pour confirmer que c'est le problème_
vous pouvez cliquer sur l'URL du bundle sur safari (si vous l'essayez dans chrome, cela résoudra mais safari ne pourra pas le résoudre). http://localhost :8081/index.ios.bundle?platform=ios&dev=true&minify=false

@vivekvijayakrishnan , Mon fichier hosts contient la paire d'adresses ci-dessus.

essayer
rm -rf ios/build/; run-ios réactifs natifs

J'ai essayé

rm -rf ios/build
react-native run-ios

et ça règle mon problème.

dans mon cas, le gardien était le problème.
Je l'ai réinstallé et tout a recommencé à fonctionner

J'ai rencontré ce problème aussi.
Il semble que chaque fois que je changeais Info.plist, cela était touché.
La seule façon de le résoudre pour moi était de décocher "exécuter le script uniquement lors de l'installation" dans les phases de construction.
J'ai fait vérifier cela parce que quelque part dans react-native-xcode.sh c'est suspendu. (c'est un autre problème que j'ai besoin de résoudre je suppose)
Donc, pour le moment, la seule façon de surmonter cet écran rouge est de

  • décochez "exécuter le script uniquement lors de l'installation"
  • exécuter une construction jusqu'à ce qu'elle se bloque
  • cochez "exécuter le script uniquement lors de l'installation"
  • l'application démarrera correctement

La solution ci-dessous, comme mentionné dans l'en-tête du message ci-dessus, a fonctionné pour moi:

  • Exécutez "react-native run-ios"

  • Lorsque l'erreur apparaît, exécutez "npm install"

  • Ensuite, exécutez à nouveau "react-native run-ios".

Pour moi, ce problème peut survenir à partir du serveur proxy que j'utilise. Tout ce dont j'ai besoin est de contourner le localhost.

Ce qui m'a résolu le problème : mettre la première lettre du nom du composant enregistré en majuscule. Totalement mental. Juste pourquoi? Ce n'est pas l'erreur signalée.

Aucune des solutions ci-dessus n'a fonctionné pour moi au cours des derniers mois. Dans d'autres versions, j'ai pu changer jsCodeLocation comme suit :

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

Mais cela ne fonctionne plus avec les dernières versions de react-native.

Quoi qu'il en soit, c'est LA raison pour laquelle je suis depuis revenu au développement Swift natif sur ios. J'ai vraiment aimé travailler avec react-native quand j'ai pu le faire fonctionner.

J'ai décidé de réinitialiser mon projet sur la dernière version de React Native (0.50.1 à l'époque) et cela a commencé à fonctionner après avoir tout déplacé de l'ancien projet.

Je suis perplexe mais au moins je peux continuer maintenant.

J'ai trouvé que la solution fournie par @popstheman fonctionnait pour moi, en utilisant react-native 0.50.3. Si je tue toutes mes fenêtres de terminal et le simulateur, puis que je relance la construction, l'erreur revient, mais npm install et react-native run-ios le corrige à nouveau.

J'initialise le projet par create-react-native-app puis npm run eject , donc si je lance simplement react-native run-ios ce problème surviendra, donc j'ouvre simplement xcode puis lance le projet , cela fonctionnera bien.
référence de

Vous pouvez exécuter npm run eject pour obtenir un projet très similaire à ce que générerait react-native init. À ce stade, vous aurez besoin de Xcode et/ou d'Android Studio comme vous le feriez si vous aviez commencé avec react-native init , l'ajout de bibliothèques avec un lien react-native fonctionnera et vous aurez un contrôle total sur le processus de compilation du code natif.
https://facebook.github.io/react-native/blog/2017/03/13/introducing-create-react-native-app.html

j'espère que cela fera un peu d'aide.

A pu enfin faire fonctionner cela. Dans les nouvelles versions de react-native (je viens de tester avec la v0.51.0), le hack jsCodeLocation dans AppDelegate.m fonctionne toujours, mais vous devez utiliser index.bundle au lieu de index.ios.bundle. Cela devrait donc ressembler à ceci (vous commenteriez l'affectation jsCodeLocation existante et la remplaceriez par celle ci-dessous):

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

SOLUTION:

N'oubliez pas de faire un lien natif réactif si vous utilisez une bibliothèque qui en a besoin

La raison pour laquelle cela résout le problème est que ..ios/build N'EST PAS mis à jour lorsque nous modifions les chemins de projet ou simplement lorsque nous modifions notre répertoire de projet. Il n'y a aucun moyen que le bundler puisse suivre les changements afin qu'il reste fidèle aux derniers chemins connus.

N'y pensez pas trop, nous l'avons déjà fait. Cela doit cependant encore être automatisé par l'équipe RN.

J'utilise IntelliJ pour développer et dans mon cas, pour une raison quelconque, IntelliJ a cessé d'appeler automatiquement react-native start avant react-native run-ios chaque fois que je construis mon projet, mais si j'exécute le projet en mode débogage, alors react-native start est appelé et tout fonctionne bien.

Maintenant, je dois comprendre pourquoi react-native start ne s'appelle plus IntelliJ en mode Build.

Je ne sais pas comment mais ça marche, merci
aussi les gens, recherche : erreur courante dans la réaction native
C'est utile

@vegidio Avez-vous fait des progrès et vu pourquoi start n'est pas appelé ?

@NARUTOyuyang travaille pour moi, j'ai utilisé xxNet ..... et ouvert l'option globalProxy ...

J'ai fermé l'option de proxy global, puis j'ai travaillé.

1.rm -rf ios/construction
2.sudo vi /private/etc/hosts

 # Add this line
 127.0.0.1       localhost

travaille pour moi.

Ajouter localhost à AppTransportSecurity était également mon problème. Construit pour la production et j'ai dû le retirer, quand je suis revenu travailler dessus pour le remettre en place.

<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>localhost</key> <dict> <key>NSExceptionAllowsInsecureHTTPLoads</key> <true/> </dict> </dict> </dict>

après la mise à niveau vers Xcode 9.2, j'ai besoin d'ajouter l'extrait de code ci-dessous dans le fichier info.plist pour résoudre ce problème.

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSAllowsArbitraryLoadsInWebContent</key>
    <true/>
    <key>NSExceptionDomains</key>
    <dict>
        <key>localhost</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
    </dict>
</dict>

@simplepanda Dans mon cas, apparemment, c'était un problème avec IntelliJ. Ils avaient un bogue lié à React Native qui a été corrigé dans la dernière version (2017.3.2) et cela fonctionne à nouveau après la mise à jour.

Mon histoire : J'utilisais Xcode pour créer une application React Native pour IOS depuis quelques semaines (le dernier React Native, le dernier Xcode (9.2), sur High Sierra), et tout fonctionnait très bien. Tout à coup, aujourd'hui, j'ai eu ce redoutable "Aucune URL de bundle présente".

J'ai lu attentivement toutes les réponses ici. J'ai essayé quelques trucs, mais rien n'a vraiment fonctionné. Ensuite, j'ai remarqué, au début des messages sur la console Xcode, un message qui disait quelque chose comme "le http:// nu ne peut pas être utilisé...", et peut-être quelque chose à propos de Transport Security. Maintenant, mon application n'utilise aucune URL (et encore moins une URL vide), donc c'était un peu déroutant. En tout cas, j'ai essayé ce que Phil Andrews (et zjx) ont suggéré : mettre une exception pour "localhost" sous NSAppTransportSecurity dans info.plist.

Et il fonctionne! Pourquoi cela a fonctionné sans cela avant et maintenant c'est nécessaire, c'est vraiment un mystère !

Essayez de

npm install metro

Résolu à cause d'un bug

Si quelqu'un veut un script pour activer/désactiver la sécurité du transport dans Info.plist :

    var fs = require('fs');
    var plist = require('plist');

    function modifyIosTransportSecurity(plistPath, enable) {
      var info = plist.parse(fs.readFileSync(plistPath, 'utf8'));
      info.NSAppTransportSecurity.NSAllowsArbitraryLoads = !enable;
      info.NSAppTransportSecurity.NSAllowsArbitraryLoadsInWebContent = !enable;
      info.NSAppTransportSecurity.NSAllowsLocalNetworking = !enable;
      fs.writeFileSync(plistPath, plist.build(info));
    }

J'appelle cela à partir d'un script de pré- et post-construction qui a été ajouté aux phases de construction de XCode.

Il y a deux applications (même projet) sur le simulateur. Une fois que j'ai supprimé le nouveau, le problème a été résolu.

image

si vous cochez cette case, Xcode ne peut pas enregistrer une erreur .. décochez-la et trouvez l'erreur
''undefined n'est pas un objet (évaluant '_reactNative.ViewPropTypes.style')''

et fais comme ça :

1 importer des ViewPropTypes à partir de react-native
2changez View.propTypes en ViewPropTypes

et ça marche pour moi.
si vous avez récemment mis à jour votre version RN, vous pouvez avoir ceci.

J'ai eu cette erreur uniquement en mode de libération. et le mode dev fonctionne bien .. j'ai essayé presque toutes les solutions ci-dessus .mais aucune ne fonctionne.

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

"react": "16.0.0-alpha.12",
"react-dom": "16.0.0-alpha.12",
"react-native": "0.51.0",

et il y a quelques jours, il suffit de mettre à jour 0.44 vers 0.51.0. si ce problème ne peut pas être résolu. Je vais revenir à la version inférieure, essayez.

Je ne sais pas si cela vous aidera les gars, mais j'ai changé ma configuration de construction dans Xcode (Product => Scheme => Edit Scheme) en Debug et cela a fonctionné.

Ce travail pour moi:

react-native link
react-native run-ios

Sur la base de ce fil et d'autres, il y a beaucoup d'erreurs à l'origine de ce problème.
Mais le mien était lié au domaine localhost. Assurez-vous donc d'avoir défini 127.0.0.1 localhost dans votre /etc/hosts pour Linux/Unix ou un fichier équivalent sous Windows.

si votre projet est ouvert par xcode. s'il vous plaît fermez le xcode et exécutez à nouveau, cela fonctionne pour moi

Salut les gars,
Je l'ai résolu sur mon appareil en remplaçant sur AppDelegate.m :

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

Par:

http://IP_ADDRESS_ON_MY_LAN:8081/index.ios.bundle?platform=ios&dev=true

Où IP_ADDRESS_ON_MY_LAN = 192.168....

J'ai rencontré le même problème après la version de version de construction (sous ios).
J'ai changé les éléments suivants et j'ai obtenu un résultat normal.
1) modifier les codes AppDelegate.m :
commenter
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
et décommentez
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
2) réactiver l'hôte local ATS dans Info.plist
Paramètres de sécurité du transport d'application -> Domaines d'exception -> localhost -> NSExceptionAllowsInsecureHTTPLoads -> TRUE
3) exécutez à nouveau les run-ios natifs réactifs et rechargez l'application dans le simulateur

@monkingame Merci , la partie localhost m'a sauvé la journée !

@monkingame Merci, le changement de commentaires a fonctionné pour moi. Je n'ai aucune idée de ce qui a provoqué l'apparition de cette erreur pour commencer, après avoir créé la version de production et voulu revenir au débogage. Comment cela a-t-il changé l'emplacement du code ?

Ce travail pour moi.

rm -rf ios/build
react-native run-ios

Ce travail pour moi.

rm -rf ios/build/; kill $(lsof -t -i:8081);
react-native run-ios

Cours
début de fil ou début de npm
pour démarrer le serveur de développement

si nécessaire relancez :
run-ios réactifs natifs

https://stackoverflow.com/a/48016926/4636856

Pour moi, pour une raison quelconque, le jsCodeLocation a changé en AppDelegate.m

assurez-vous qu'il est
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];

À partir d'un autre fil après avoir tout essayé, cette solution a fonctionné:

"c'est résolu mon problème:
info.plist → Liste des propriétés d'informations → + Paramètres de sécurité du transport de l'application → + Autoriser les chargements arbitraires = OUI"

Je l'ai résolu en incluant le code ci-dessous dans le fichier Info.plist que j'avais supprimé de la version de production.
<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>localhost</key> <dict> <key>NSExceptionAllowsInsecureHTTPLoads</key> <true/> </dict> </dict> </dict>

Easy boy, supprimez simplement ios/build ( rm -rf ios/build ) puis exécutez à nouveau react-native run-ios ! Prends-moi 30m pour comprendre...LOL...

@jiteshwadia le même problème m'est arrivé.
qu'est-ce que je dois faire maintenant ??

Pour moi, j'avais un problème avec Node qui n'était pas reconnu dans un nouvel onglet ouvert. Je dois donc utiliser nvm use dans chaque nouvel onglet. Parce que le bundler s'ouvrait dans un nouvel onglet lorsque j'exécutais npm run ios , il ne voyait pas Node. Et je ne peux pas taper dans ce terminal bundler pour une raison quelconque.

Donc, ma solution était dans un onglet, exécutez nvm use 8.9.3 ou quelle que soit la version sur laquelle vous vous trouvez, puis dans cet onglet, exécutez npm start . Ensuite, ouvrez un nouvel onglet et faites nvm use 8.9.3 et dans cet onglet, exécutez npm run ios ou quelle que soit la façon dont vous exécutez votre simulateur.

Ce travail pour moi.

react-native bundle --entry-file='index.js' --bundle-output='./ios/main.jsbundle' --dev=false --platform='ios' --assets-dest='./ios'

J'ai eu le même problème et après avoir tout essayé ici, la réponse de qyvip m'a conduit à la bonne.
Dans ios>"Votre dossier de projet principal">AppDelegate.m .

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

être
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbac kResource:nil ] ;

Cela a fonctionné pour moi. Vérifiez que votre main.jsbundle est ciblé sur votre projet principal.
J'ai aussi dû nettoyer les caches.
image

L'ajout de NSAllowsArbitraryLoads : true a résolu mon problème.

Cette page vous a été utile?
0 / 5 - 0 notes