notes - ¿Cómo puedo obtener los registros de la consola desde el simulador de iOS?
como forzar detencion de whatsapp en iphone (9)
iOS 8 y iOS 9
Bajo iOS 8 y iOS 9 esta ubicación es ahora:
~/Library/Logs/CoreSimulator/<DEVICE_CODE>
Entonces, lo siguiente funcionará:
tail -f ~/Library/Logs/CoreSimulator/<DEVICE_CODE>/system.log
El valor DEVICE_CODE
se puede encontrar a través del siguiente comando de consola:
instruments -s devices
Quiero ver qué sucede en el simulador de iOS si no estoy probando la aplicación en Xcode.
Por ejemplo, si abro un enlace en el simulador de Safari, veo lo que sucede en la consola o si instalo una aplicación web, vea los enlaces que estoy presionando en la consola.
¿Cómo puedo hacer esto?
Quiero verlo en Xcode o Terminal, pero no es un problema si necesito usar otro bit de software.
No debes confiar en los instruments -s
. La herramienta con soporte oficial para trabajar con simuladores desde la línea de comandos es xcrun simctl
.
El directorio de registro de un dispositivo se puede encontrar con xcrun simctl getenv booted SIMULATOR_LOG_ROOT
. Esto siempre será correcto incluso si la ubicación cambia.
Ahora que las cosas se están moviendo a os_log
es más fácil abrir Console.app en el host Mac. Los simuladores de arranque deberían aparecer como una fuente de registro a la izquierda, al igual que los dispositivos físicos. También puede ejecutar comandos de registro en el simulador de arranque:
# os_log equivalent of tail -f
xcrun simctl spawn booted log stream --level=debug
# filter log output
xcrun simctl spawn booted log stream --predicate ''processImagePath endswith "myapp"''
xcrun simctl spawn booted log stream --predicate ''eventMessage contains "error" and messageType == info''
# a log dump that Console.app can open
xcrun simctl spawn booted log collect
# open location where log collect will write the dump
cd `xcrun simctl getenv booted SIMULATOR_SHARED_RESOURCES_DIRECTORY`
Si desea utilizar las herramientas de desarrollador de Safari (incluida la consola JS) con una página web en el simulador : inicie uno de los simuladores, abra Safari, vaya a Safari en su mac y debería ver el simulador en el menú.
Puede abrir una URL en el simulador arrastrándola desde la barra de direcciones de Safari y soltándola en la ventana del simulador. También puede usar xcrun simctl openurl booted <url>
.
Puede ver la consola para el simulador de iOS a través de Safari de escritorio. Es similar a la forma en que usa Safari de escritorio para ver la consola para dispositivos iOS físicos.
Siempre que el simulador se esté ejecutando y haya una página web abierta, habrá una opción en el menú Desarrollar en el escritorio del safari que le permitirá ver la consola del simulador de iOS:
Desarrollar -> simulador de iPhone -> nombre del sitio
Puedo abrir el registro directamente a través del simulador de iOS: Debug -> Open System Log...
No estoy seguro de cuándo se introdujo, por lo que es posible que no esté disponible para versiones anteriores.
Si está utilizando Swift , recuerde que println
solo imprimirá en el registro de depuración (que aparece en el área de depuración de xCode). Si desea imprimir en system.log, debe usar NSLog
como en los días anteriores.
Luego puede ver el registro del simulador a través de su menú, Depurar> Abrir registro del sistema ... (cmd + /)
Simulador de iOS> Barra de menú> Depurar> Abrir registro del sistema
Maneras viejas:
iOS Simulator imprime sus registros directamente a la salida estándar, de modo que puede ver los registros mezclados con los registros del sistema.
Abra la Terminal y escriba: tail -f /var/log/system.log
Luego ejecuta el simulador.
EDITAR:
Esto dejó de funcionar en Mavericks / Xcode 5. Ahora puede acceder a los registros del simulador en su propia carpeta: ~/Library/Logs/iOS Simulator/<sim-version>/system.log
Puede usar Console.app para ver esto o simplemente hacer una cola (por ejemplo, iOS 7.0.3 64 bits):
tail -f ~/Library/Logs/iOS/ Simulator/7.0.3-64/system.log
EDIT 2:
Ahora se encuentran en ~/Library/Logs/CoreSimulator/<simulator-hash>/system.log
tail -f ~/Library/Logs/CoreSimulator/<simulator-hash>/system.log
el seguimiento de /var/log/system.log
no funcionó para mí. Encontré mis registros utilizando Console.app
. Ellos estaban en
~/Library/Logs/iOS Simulator/{version}/system.log
XCode> 6.0 Y iOS> 8.0 La siguiente secuencia de comandos funciona si tiene la versión XCode> 8.0
Utilizo el siguiente script pequeño para seguir los registros del simulador a la consola del sistema.
#!/bin/sh
sim_dir=`xcrun instruments -s | grep "iPhone 6 (8.2 Simulator)" | awk {''print $NF''} | tr -d ''[]''`
tail -f ~/Library/Logs/CoreSimulator/$sim_dir/system.log
Puede pasar el tipo de simulador utilizado en el Grep como argumento. Como se mencionó en las publicaciones anteriores, hay comandos simctl y instruments para ver el tipo de simuladores disponibles para usar dependiendo de la versión de Xcode. Para ver la lista de dispositivos / simuladores disponibles.
xcrun instruments -s
O
xcrun simctl list
Ahora puede pasar el código del dispositivo o el tipo de simulador como argumento al script y reemplazar el "iPhone 6 (simulador 8.2)" dentro de grep por $ 1.