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?
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.
À 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
cmd ⌘ + D pour afficher le menu de débogage
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!).
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>