¿Existe una herramienta GUI que inspeccione la jerarquía de vistas de una aplicación iOS? Estoy pensando en el inspector web de Webkit o en herramientas similares. Estoy buscando depurar problemas de diseño, como las vistas que tienen una posición o tamaño incorrectos, o un niño que no está contenido adecuadamente en su padre. Actualmente tengo que agregar afirmaciones que prueben estas diversas condiciones a mano, o establecer diferentes colores de fondo en diferentes vistas, y como se pueden imaginar, esa es una forma realmente tediosa de hacerlo.
Miré los instrumentos UI recorder
, pero eso solo graba y reproduce las acciones de la interfaz de usuario 'y, en cualquier caso, solo funciona para aplicaciones Mac.
¿Hay una mejor solución?
fuente
No sé si hay una herramienta de inspección de vista GUI, pero he tenido suerte con el método de depuración en UIView:
-recursiveDescription
si pausa el programa en el depurador e ingresa esto en GDB (Editar: también funciona en LLDB)
Obtiene una copia impresa de toda su jerarquía de vistas. También puede llamarlo en una vista específica para obtener una impresión de la jerarquía de vistas de esa vista.
Puede ser un poco tedioso leer la información que obtienes de ella, pero me ha resultado útil.
El crédito va a esta publicación de blog que habló sobre este método y también se vinculó a esta nota técnica de Apple útil, pero bastante difícil de encontrar .
fuente
Curiosamente, ahora hay otra opción, http://revealapp.com/ , que a partir de esta publicación está en una versión beta abierta (gratuita). Como puede ver, es otro inspector visual.
EDITAR 05/04/2014: Reveal está fuera de Beta y ya no es gratis. Sin embargo, hay una prueba de 30 días.
fuente
Esta pregunta es antigua, pero permítanme poner información aquí sobre la nueva herramienta que desarrollo: https://github.com/glock45/iOS-Hierarchy-Viewer
fuente
Solo para mantener este hilo actualizado, he estado jugando recientemente con Spark Inspector . No es gratis, pero es muy agradable.
fuente
El depurador FLEX proporciona un inspector de vista en la aplicación que le permite modificar la interfaz de usuario en una aplicación en ejecución. También registra solicitudes de red.
https://github.com/Flipboard/FLEX
fuente
Gratis: solo escriba esto en inspector:
Comercial: http://revealapp.com/ Probé la versión beta de revealapp, fue bueno, aunque tiene errores. Otra herramienta comercial: http://sparkinspector.com/ está funcionando sin problemas.
fuente
Rápido 4.
iOS :
macOS :
Uso (en depurador):
po myView.dump()
fuente
Esto voltea todo en la ventana de depuración. (Difícil de leer aunque) :( Trabajando en iOS 10, Xcode 8.3.3
fuente
La respuesta aprobada ya no funciona para mí, usando Xcode 8 y Swift 2.3. Esto es lo que funciona para mí:
po UIApplication.sharedApplication().keyWindow?.recursiveDescription()
fuente
Para swift / Xcode 10, ingrese esto en la consola de depuración:
Imprimirá una jerarquía recursiva para cualquier dado
UIView
.(Crédito: Cómo depurar su jerarquía de vistas usando recursiveDescription )
fuente