web-dev-qa-db-fra.com

React Native: impossible de voir console.logs lorsque j'exécute une application à partir de XCode

J'ai du mal à faire fonctionner mon code avec react-native run-ios. Le code natif tire une ancienne version en cache du bundle javascript, et je n'arrive pas à effacer cela pour me sauver la vie.

Cependant, lorsque j'exécute l'application à partir de XCode, l'application fonctionne très bien. Impressionnant!

Le seul problème est que lorsque j'exécute mon application via XCode, je n'arrive pas à accéder aux journaux javascript. J'ai essayé react-native log-ios mais cela ne semble pas montrer mes journaux. J'ai essayé "Activer le débogage dans Chrome" dans le menu du simulateur, mais cette option n'est pas disponible lorsque je lance l'application à partir de XCode.

Quelqu'un a-t-il une idée de ce qui pourrait se passer ici?

15
wheresmycookie

Option 1

console.log travaux. Par défaut sur iOS, il se connecte au volet de débogage à l'intérieur de Xcode. Si vous sélectionnez les options "Déboguer dans Chrome" ou "Déboguer dans Safari" dans le menu Rage Shake (⌘+^+Z), il se connectera à la console du navigateur à la place.

Option 2

À partir de React Native 0.29, vous pourrez simplement exécuter ce qui suit pour voir les journaux sur la ligne de commande:

react-native log-ios
react-native log-Android

Option n ° 3

  1. cmd ⌘ + D pour afficher le menu de débogage

  2. Définissez "Debug in Safari" désactivé et certains messages seront imprimés dans le message de sortie, mais pas les messages de console. Cependant, l'un des messages du journal indique:

    DEV === false, l'avertissement au niveau du développement est désactivé, les optimisations de performances sont activées "

    C'est parce que j'avais déjà groupé mon projet pour le tester sur un vrai appareil avec la commande:

    react-native bundle --minify
    

    Ce bundle sans "dev-mode" sur. Pour autoriser les messages de développement, incluez le --dev drapeau:

    bundle react-native --dev

    Et console.log les messages sont de retour! Si vous ne regroupez pas un appareil réel, n'oubliez pas de re-pointer jsCodeLocation dans AppDelegate.m à localhost (je l'ai fait!).

10
Annie Gupta

Il paraît que react-native log-ios ne fonctionne plus depuis RN .50 Vous pouvez utiliser react-native-log-ios paquet npm à la place

npm i -g react-native-log-ios

puis

react-native-log-ios <XCode Project Name>
7
Bap