Je veux voir ce qui se passe dans le simulateur iOS si je ne teste pas l'application dans Xcode.
Par exemple, si j'ouvre un lien dans le simulateur Safari, voir ce qui se passe dans la console, ou si j'installe une application web, voir les liens sur lesquels j'appuie dans la console.
Comment puis-je faire ceci?
Je veux le voir dans Xcode ou Terminal, mais ce n'est pas un problème si j'ai besoin d'utiliser un autre logiciel.
ios
console
ios-simulator
user1335015
la source
la source
Réponses:
Simulateur iOS> Barre de menus> Débogage> Ouvrir le journal système
Vieilles manières:
iOS Simulator imprime ses journaux directement sur stdout, afin que vous puissiez voir les journaux mélangés avec les journaux système.
Ouvrez le terminal et saisissez:
tail -f /var/log/system.log
Exécutez ensuite le simulateur.
ÉDITER:
Cela a cessé de fonctionner sur Mavericks / Xcode 5. Vous pouvez maintenant accéder aux journaux du simulateur dans son propre dossier:
~/Library/Logs/iOS Simulator/<sim-version>/system.log
Vous pouvez soit utiliser Console.app pour voir cela, soit simplement faire une queue (iOS 7.0.3 64 bits par exemple):
tail -f ~/Library/Logs/iOS\ Simulator/7.0.3-64/system.log
EDIT 2:
Ils sont maintenant situés dans
~/Library/Logs/CoreSimulator/<simulator-hash>/system.log
tail -f ~/Library/Logs/CoreSimulator/<simulator-hash>/system.log
la source
console.log
dans ces journaux en utilisanttail
ouConsole.app
Vous pouvez afficher la console du simulateur iOS via le bureau Safari. Cela est similaire à la façon dont vous utilisez Safari pour afficher la console des appareils iOS physiques.
Chaque fois que le simulateur est en cours d'exécution et qu'une page Web est ouverte, il y aura une option sous le menu Développer dans Safari de bureau qui vous permet de voir la console du simulateur iOS:
Développer -> iPhone Simulator -> nom du site
la source
Il y a une option dans le simulateur pour ouvrir le
console
ou utilisez le
keyboard shortcut: ⌘/
la source
iOS 8 et iOS 9
Sous iOS 8 et iOS 9, cet emplacement est désormais:
Donc, ce qui suit fonctionnera:
La
DEVICE_CODE
valeur peut être trouvée via la commande de console suivante:la source
instruments -s devices
dans la consolexcrun simctl spawn booted log stream --level=debug | grep App_Debug_String
travaillé.Vous ne devez pas compter sur
instruments -s
. L'outil officiellement pris en charge pour travailler avec les simulateurs à partir de la ligne de commande estxcrun simctl
.Le répertoire des journaux d'un périphérique peut être trouvé avec
xcrun simctl getenv booted SIMULATOR_LOG_ROOT
. Ce sera toujours correct même si l'emplacement change.Maintenant que les choses évoluent,
os_log
il est plus facile d'ouvrir Console.app sur le Mac hôte. Les simulateurs démarrés devraient apparaître comme une source de journal sur la gauche, tout comme les appareils physiques. Vous pouvez également exécuter des commandes de journal dans le simulateur démarré:Si vous souhaitez utiliser les outils Safari Developer (y compris la console JS) avec une page Web dans le simulateur : démarrez l'un des simulateurs, ouvrez Safari, puis accédez à Safari sur votre Mac et vous devriez voir Simulator dans le menu.
Vous pouvez ouvrir une URL dans le simulateur en la faisant glisser depuis la barre d'adresse Safari et en la déposant dans la fenêtre du simulateur. Vous pouvez également utiliser
xcrun simctl openurl booted <url>
.la source
log help predicates
vous donnera plus d'informations. Le format de prédicat suit NSPredicate.Si vous utilisez Swift , n'oubliez pas que
println
cela ne s'imprimera que dans le journal de débogage (qui apparaît dans la zone de débogage de xCode). Si vous souhaitez imprimer sur system.log, vous devez utiliserNSLog
comme autrefois.Ensuite, vous pouvez afficher le journal du simulateur via son menu, Déboguer> Ouvrir le journal système ... (cmd + /)
la source
la queue
/var/log/system.log
n'a pas fonctionné pour moi. J'ai trouvé mes journaux en utilisantConsole.app
. Ils étaient~/Library/Logs/iOS Simulator/{version}/system.log
la source
Vous pouvez utiliser l'
Console
application (sélectionnez votre appareil dans Appareils) sur votre Mac pour voir un message de journal qui a été envoyé à l'aideNSLog
(vous ne verrez pas les journaux de laprint
fonction).Veuillez noter que si vous voulez voir un journal,
WebView
vous devez utiliserSafary -> Develop -> device
[Trouver le journal des plantages]
la source
cmd
then
space bar
Type "Console
" appuyez surenter
. Btw. ce devrait être la bonne réponse aujourd'hui.XCode> 6.0 ET iOS> 8.0 Le script ci-dessous fonctionne si vous avez la version XCode> 8.0
J'utilise le petit script ci-dessous pour suivre les journaux du simulateur sur la console système.
Vous pouvez passer le type de simulateur utilisé dans Grep comme argument. Comme mentionné dans les articles ci-dessus, il existe une commande simctl et instruments pour afficher le type de simulateurs disponibles en fonction de la version de Xcode. Pour afficher la liste des appareils / simulateurs disponibles.
OU
Vous pouvez maintenant passer le code de l'appareil OU le type de simulateur comme argument au script et remplacer le "iPhone 6 (8.2 Simulator)" dans grep pour être $ 1
la source
Je peux ouvrir le journal directement via le simulateur iOS: je ne
Debug -> Open System Log...
sais pas quand cela a été introduit, il pourrait donc ne pas être disponible pour les versions antérieures.la source
Vous pouvez voir la fenêtre de la console Simulator, y compris Safari Web Inspector et tous les outils de développement Web à l'aide de l'application Safari Technology Preview. Ouvrez votre page dans Safari sur le simulateur, puis accédez à Safari Technology Preview> Develop> Simulator.
la source
Non
NSLog
ou leprint
contenu sera écritsystem.log
, qui peut être ouvert par SelectSimulator -> Debug -> Open System log
sur Xcode 11.Je trouve un moyen, j'écris des journaux dans un fichier et j'ouvre
xx.log
avec.Terminal.app
Ensuite, les journaux se présenteront dansTerminal.app
animé.J'utilise CocoaLumberjack pour y parvenir.
ÉTAPE 1:
Ajouter
DDFileLogger
DDOSLogger
et imprimer le chemin des journaux.config()
devrait être appelé lorsque le déjeuner App.ÉTAPE 2:
Remplacez
print
ouNSLog
parDDLogXXX
.ÉTAPE 3:
Ici, le message sera présent dans Terminal.app animé.
la source