web-dev-qa-db-fra.com

Échec des commandes de construction natives en réaction: PhaseScriptExecution ... (domain = NSPOSIXErrorDomain, code = 2)

Environnement

Mac OS X Version 10.11.3 (15D21)
Xcode Version 7.2 (7C68)
Simulator Version 9.2 (SimulatorApp-643)
react-native-cli 0.1.10
node v5.5.0

Ce que j'ai fait avant de lancer l'application

npm install -g react-native-cli
react-native init DemoProjectDELETEME
cd ./DemoProjectDELETEME
react-native run-ios

Je suis nouveau sur React Native. Lorsque j'essaie d'exécuter l'application par défaut sur le simulateur iOS, j'ai eu les erreurs suivantes. J'ai trouvé un problème similaire mais cela ne résout pas mon problème.

Xcode6 ne peut exécuter aucune application dans le simulateur (domaine = NSPOSIXErrorDomain, Code = 3)

Après le redémarrage de la machine et du simulateur, les problèmes persistent.

** BUILD FAILED **


The following build commands failed:
    PhaseScriptExecution Run\ Script /Users/x/Desktop/DemoProjectDELETEME/ios/build/Build/Intermediates/React.build/Debug-iphonesimulator/React.build/Script-006B79A01A781F38006873D1.sh
(1 failure)
Installing build/Build/Products/Debug-iphonesimulator/DemoProjectDELETEME.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist
/Users/x/Desktop/DemoProjectDELETEME/node_modules/promise/lib/done.js:10
      throw err;
      ^

Error: Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/DemoProjectDELETEME.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist

    at checkExecSyncError (child_process.js:464:13)
    at Object.execFileSync (child_process.js:484:13)
    at _runIOS (runIOS.js:77:34)
    at runIOS.js:24:5
    at tryCallTwo (/Users/x/Desktop/DemoProjectDELETEME/node_modules/promise/lib/core.js:45:5)
    at doResolve (/Users/x/Desktop/DemoProjectDELETEME/node_modules/promise/lib/core.js:200:13)
    at new Promise (/Users/x/Desktop/DemoProjectDELETEME/node_modules/promise/lib/core.js:66:3)
    at Array.runIOS (runIOS.js:23:10)
    at Object.run (/Users/x/Desktop/DemoProjectDELETEME/node_modules/react-native/local-cli/cli.js:86:13)
    at Object.<anonymous> (/usr/local/lib/node_modules/react-native-cli/index.js:73:7)

Vous avez l'erreur suivante lorsque j'essaie de lancer l'application depuis Xcode.

 enter image description here

Sudo npm start dans la racine du projet résout le problème, mais react-native run-ios reste BUILD FAILED.

Merci pour votre temps visionnant ma question.

20
Xinyang Li

Essayez d'exécuter react-native upgrade 

Voir le fil Github: https://github.com/facebook/react-native/issues/7308#issuecomment-219597774

17
Nima Izadi

Pour moi, le port 8081 était utilisé:

lsof -n -i4TCP:8081

7
phani

1. Allez dans Fichier -> Paramètres du projet2.Cliquez sur le bouton Avancé3.Sélectionnez "Personnalisé" et sélectionnez "Relatif à l'espace de travail" dans le menu déroulant. "build/Build/Products" 5.cliquez sur fait, terminé  enter image description here

7
Katta Nagarjuna

Le problème est dans le fichier js qui construit et exécute votre application. À moins que votre projet, votre modèle et le nom du produit ne soient tous identiques, vous obtiendrez des erreurs, en particulier sur des simulateurs.

La bonne nouvelle est que j'ai soumis une demande d'extraction qui résout le problème. Je vous en prie, votez pour que nous ne craignions rien lorsque nous renommons des choses.

5
Steve Potter
  1. Ouvrez votre projet rea-native dans Xcode
  2. Créez un nouveau schéma avec le nom du projet. 
  3. le problème sera résolu  enter image description here
4
Aathi

Pour moi, je devais juste modifier les paramètres de construction du projet iOS

L'identifiant de l'ensemble de produits n'a pas été défini

Vous devez le définir pour le projet et 2 objectifs

 enter image description here

3
damien murphy.

Ajouter Sudo devant toutes les commandes résout le problème.

Sudo react-native init ProjectName

Sudo chmod 777 ProjectName

cd ProjectName
Sudo react-native run-ios 
2
Xinyang Li

Pour moi, je devais mettre à niveau ma version de XCode de Yosemite à Sierra.

Cela peut être fait via App Store> Updates.

1
Matt D. Webb

J'ai corrigé mon problème, vous pouvez l'essayer si vous êtes dans le même état.

J'ai rencontré la même erreur:

Print: Entrée, ": CFBundleIdentifier", n'existe pas

Lorsque je clone un projet réactif natif existant de learning, réactif natif .

  1. J'initialise (avec {react-native init yourProjectName}) un nouveau projet portant le même nom dans un répertoire différent

  2. copier tous les fichiers * .ios.js utiles dans ce nouveau projet à partir de celui que je clone ailleurs.

Cela fonctionne pour moi.

0
Amanda meng

Ouvrez votre projet Xcode 

Exécuter 

Vous devriez avoir 2 erreurs de RCTSRWebSocket.m

ajouter (void) au début des deux lignes: 

SecRandomCopyBytes(kSecRandomDefault, sizeof(uint32_t), (uint8_t *)mask_key);

devenir 

(void)SecRandomCopyBytes(kSecRandomDefault, sizeof(uint32_t), (uint8_t *)mask_key);

Enregistrez et relancez votre projet avec Xcode ou un terminal. Cela devrait fonctionner à coup sûr. J'ai déjà testé toute la solution, celle-ci est la seule à avoir fonctionné pour moi.

0
Ciboulette

En ce qui me concerne, le problème était que McAfee fonctionnait sur le port 8081. Par conséquent, je lance l'application sur un autre port après cette réponse https://stackoverflow.com/a/50649969/5323419

react-native run-ios --port 1234 react-native start --port 1234

J'utilise React natif 0.55+

0
Henrique Jensen

Étonnamment, c'était la solution pour moi: ouvrez le fichier Views/RTCScrollView.m dans Xcode et modifiez la variable _refreshControl en refreshControl . Toutes les occurrences de _refreshControl étaient déjà marquées comme des erreurs. Le nouveau code devient:

- (void)setRefreshControl:(RCTRefreshControl *)refreshControl
{
  if (refreshControl) {
    [refreshControl removeFromSuperview];
  }
  refreshControl = refreshControl;
  [self addSubview:refreshControl];
}
0

Editez le fichier, NomProjet/noeud_modules/react-native/local-cli/runIOS/runIOS.js Ligne n ° 18: remplacez la ligne de code complète par ce qui suit:

return `build/Build/Products/${configuration}-${isDevice ? 'iphoneos' : 'iphonesimulator'}/${appName}.app`;

Numéro de ligne: 146: ne commentez pas '-derivedDataPath', 'build',

après cela, lancez la commande depuis le terminal: Sudo réagit nativement sous ios

0
Sachin Kumaram