Existe uma ferramenta da GUI que inspeciona a hierarquia de exibição de um aplicativo iOS? Estou pensando no inspetor da Web do Webkit ou em ferramentas similares. Estou procurando depurar problemas de layout, como visualizações com a posição ou tamanho incorretos ou um filho que não esteja adequadamente contido no pai. Atualmente, tenho que adicionar afirmações que testam essas várias condições manualmente ou definir diferentes cores de plano de fundo em diferentes visualizações e, como você pode imaginar, é uma maneira realmente tediosa de fazer isso.
Eu olhei para a Instruments UI recorder
, mas isso apenas grava e reproduz ações da interface do usuário e, em qualquer caso, funciona apenas para aplicativos Mac.
Existe uma solução melhor?
fonte
Não sei se existe uma ferramenta de inspeção de exibição da GUI, mas tive alguma sorte com o método de depuração no UIView:
-recursiveDescription
se você pausar o programa no depurador e inseri-lo no GDB (Editar: também funciona no LLDB)
Você obtém uma impressão de toda a hierarquia de visualizações. Você também pode chamá-lo em uma visão específica para obter uma impressão da hierarquia da visão dessa visão.
Pode ser um pouco entediante vasculhar as informações que você obtém, mas isso se mostrou útil para mim.
O crédito vai para este post do blog que falou sobre esse método e também está vinculado a este útil, mas bastante difícil de encontrar nota técnica da Apple .
fonte
Por incrível que pareça, agora existe outra opção, http://revealapp.com/ , que até agora está disponível em uma versão beta aberta (gratuita). Como você pode ver, é outro inspetor visual.
EDIT 05-04-2014: Reveal saiu da versão beta e não é mais gratuito. Há um teste de 30 dias, no entanto.
fonte
Esta pergunta é antiga, mas deixe-me colocar informações aqui sobre a nova ferramenta que desenvolvo: https://github.com/glock45/iOS-Hierarchy-Viewer
fonte
Apenas para manter esse tópico atualizado, eu tenho jogado recentemente com o Spark Inspector . Não é grátis, mas é muito legal.
fonte
O depurador do FLEX fornece um inspetor de exibição no aplicativo que permite modificar a interface do usuário em um aplicativo em execução. Ele também registra solicitações de rede.
https://github.com/Flipboard/FLEX
fonte
Gratuito: basta digitar isso no inspetor:
Comercial: http://revealapp.com/ Testei a versão beta do Revelapp, era bom que tenha bugs. Outra ferramenta comercial: http://sparkinspector.com/ está funcionando perfeitamente.
fonte
Swift 4.
iOS :
macOS :
Uso (no depurador):
po myView.dump()
fonte
Isso despeja tudo na janela de depuração. (Difícil de ler) :( Trabalhando no iOS 10, Xcode 8.3.3
fonte
A resposta aprovada não funciona mais para mim, usando o Xcode 8 e o Swift 2.3. Aqui está o que funciona para mim:
po UIApplication.sharedApplication().keyWindow?.recursiveDescription()
fonte
Para swift / Xcode 10, insira isso no console de depuração:
Ele imprimirá uma hierarquia recursiva para qualquer dado
UIView
.(Crédito: como depurar sua hierarquia de exibição usando recursiveDescription )
fonte