J'utilise React-Native, lorsque j'exécute le AwesomeProject avec Xcode et le simulateur iPhone, tout fonctionne bien, mais lorsque j'ai connecté mon iPad et créé le projet sur mon iPad, je reçois une erreur sur l'iPad lorsque l'application démarre:
"Impossible de se connecter au serveur de développement. Assurez-vous que le serveur de noeud est en cours d'exécution. L'opération n'a pas pu être terminée (erreur NSURLErrorDomain -1004)".
J'ai également veillé à ce que le package de noeud fonctionne. J'ai même redémarré Xcode et tout recommencé avec l'exécution de npm start.
Pourriez-vous s'il vous plaît aider?
Sur votre AppDelegate.m, vous devez mettre à jour jsCodeLocation
et remplacer localhost
par l'adresse IP de votre machine.
Soit cela, soit regroupez la source compilée dans votre application, qui est commentée comme option 2 sur AppDelegate.m
ainsi que. Vous téléchargez le code compilé et l'ajoutez à votre projet Xcode.
Essayez de jeter un œil ici pour la solution:
https://github.com/facebook/react-native/issues/240#issuecomment-86977126
J'ai préparé une petite instruction qui aidera à résoudre ce problème.
Lorsque votre application ne peut pas se connecter au serveur, vous verrez le message comme ceci:
Ouvrez un fichier AppDelegate.m dans votre projet Xcode et recherchez
jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"];
Vous devez remplacer cette adresse par votre adresse locale.
Pour rechercher votre adresse IP locale dans Mac OS X, ouvrez l'application Terminal (située dans/Applications/Utilitaires) et tapez ipconfig getifaddr en1
pour le sans fil ou ipconfig getifaddr en0
pour Ethernet.
Vous pouvez le vérifier dans le navigateur. Et vous verrez React page du débogueur natif
Remplacez simplement localhost
dans AppDelegate.m par votre adresse IP. localhost
à 192.168.1.100
dans mon cas.
Exécutez à nouveau votre application dans Xcode.
Un autre problème potentiel qui peut provoquer exactement la même erreur est App Transport Security (ATS) dans iOS9 - cela m'est arrivé, même si tout le reste a été configuré correctement. Voir ma description et ma solution sur https://stackoverflow.com/a/34880394/2397068 .
Dans mon cas, je viens d'avoir une très ancienne version de node.js installée (version 0.8.6). Après la mise à jour de node.js vers la version 0.12.2, le projet par défaut qui react-native init AwesomeProject
créé a parfaitement fonctionné.