Существует ли инструмент с графическим интерфейсом, который проверяет иерархию представления приложения iOS? Я думаю о веб-инспекторе Webkit или подобных инструментах. Я пытаюсь отладить проблемы макета, такие как представления, имеющие неправильную позицию или размер, или дочерний элемент, который не содержится должным образом в его родительском элементе. В настоящее время я должен добавить утверждения, которые проверяют эти различные условия вручную, или устанавливать разные цвета фона для разных представлений, и, как вы можете себе представить, это действительно утомительный способ сделать это.
Я посмотрел на инструменты UI recorder
, но он только записывает и воспроизводит действия пользовательского интерфейса и, в любом случае, работает только для приложений Mac.
Есть ли лучшее решение?
источник
Я не знаю, есть ли инструмент проверки представлений GUI, но мне повезло с методом отладки в UIView:
-recursiveDescription
если вы приостановите программу в отладчике и введете ее в GDB (Edit: также работает в LLDB)
Вы получаете распечатку всей иерархии представления. Вы также можете вызвать его для определенного представления, чтобы получить распечатку иерархии представления этого представления.
Может быть немного утомительно разбираться с информацией, которую вы получаете из нее, но она оказалась полезной для меня.
Авторы благодарны этой записи в блоге, в которой рассказывается об этом методе, а также содержится ссылка на этот полезный, но довольно трудный для поиска технический материал Apple .
источник
Как ни странно, теперь есть еще один вариант, http://revealapp.com/ , который на данный момент находится в открытой (бесплатной) бета-версии. Как видите, это еще один визуальный инспектор.
РЕДАКТИРОВАТЬ 2014-04-05: Reveal вышел из бета-версии и больше не является бесплатным. Однако существует 30-дневная пробная версия.
источник
Этот вопрос старый, но позвольте мне разместить здесь информацию о новом инструменте, который я разрабатываю: https://github.com/glock45/iOS-Hierarchy-Viewer
источник
Просто чтобы поддерживать актуальность этой темы, я недавно играл в Spark Inspector . Это не бесплатно, но очень приятно.
источник
FLEX Debugger обеспечивает в приложении просмотра инспектора , который позволяет изменять интерфейс в запущенном приложении. Он также регистрирует сетевые запросы.
https://github.com/Flipboard/FLEX
источник
Бесплатно: просто введите это в инспекторе:
Коммерческий: http://revealapp.com/ Я тестировал бета-версию раскрытия, это было хорошо, хотя есть ошибки. Другой коммерческий инструмент: http://sparkinspector.com/ работает без проблем.
источник
Свифт 4.
iOS :
macOS :
Использование (в отладчике):
po myView.dump()
источник
Это сбрасывает все в окне отладки. (Трудно прочитать, хотя) :( Работа на iOS 10, Xcode 8.3.3
источник
Утвержденный ответ больше не работает для меня, используя Xcode 8 и Swift 2.3. Вот что работает для меня:
po UIApplication.sharedApplication().keyWindow?.recursiveDescription()
источник
Для swift / Xcode 10 введите это в консоли отладки:
Он распечатает рекурсивную иерархию для любого заданного
UIView
.(Автор: Как отладить иерархию представлений с помощью recursiveDescription )
источник