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.
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.
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.
Essayez d'exécuter react-native upgrade
Voir le fil Github: https://github.com/facebook/react-native/issues/7308#issuecomment-219597774
Pour moi, le port 8081 était utilisé:
lsof -n -i4TCP:8081
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.
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
Pour moi, je devais mettre à niveau ma version de XCode
de Yosemite à Sierra.
Cela peut être fait via App Store
> Updates
.
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 .
J'initialise (avec {react-native init yourProjectName}
) un nouveau projet portant le même nom dans un répertoire différent
copier tous les fichiers * .ios.js utiles dans ce nouveau projet à partir de celui que je clone ailleurs.
Cela fonctionne pour moi.
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.
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+
É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];
}
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