Reveal — это инструмент для runtime-инспекции пользовательских интерфейсов мобильных приложений на платформах iOS и tvOS. Он позволяет разработчикам подключаться к запущенному приложению и в интерактивном режиме просматривать иерархию представлений (view hierarchy), анализировать свойства отдельных элементов интерфейса и вносить временные изменения для отладки визуальной компоновки и поведения. Программа используется для поиска проблем с layout, проверкой ограничений автоматической раскладки и диагностикой визуальных артефактов, возникающих на этапах разработки и тестирования.
Исторически Reveal возник как ответ на необходимость более наглядного и удобного инструмента, чем встроенные средства платформы, для инспекции сложных UI-деревьев и динамических изменений интерфейса. Оно интегрируется с приложением через библиотеку или агент и предоставляет графический интерфейс для навигации по слоям, просмотра свойств view, измерений и относительных позиций. Reveal также поддерживает фильтрацию и поиск по имени классов и идентификаторам, что упрощает локализацию элементов в больших проектах.
- Просмотр иерархии представлений: отображение дерева view с возможностью раскрытия/сворачивания, выбора и фокусировки на элементах.
 - Редактирование свойств в реальном времени: временное изменение атрибутов view (размеры, позиции, фоновые цвета и др.) для проверки гипотез и отладки layout.
 - Анализ Auto Layout: визуализация ограничений (constraints), выявление конфликтов и оценка влияния изменений на компоновку.
 - Измерения и позиционирование: отображение координат, размеров и отступов выбранного элемента относительно родителя и окна приложения.
 - Поиск и фильтрация: быстрый поиск по классам, именам и свойствам для навигации в больших и сложных интерфейсах.
 - Поддержка сцен и слоёв: возможность переключения между окнами или сценами приложения и инспекции слоёв CALayer.
 - Доступность (Accessibility): проверка атрибутов доступности у элементов интерфейса, таких как метки, подсказки и идентификаторы для средств озвучивания.
 - Интеграция с разработкой: подключение к приложению во время запуска или к уже запущенному процессу для гибкой отладки.
 - Снимки состояния: создание снимков текущего UI-дерева для последующего анализа или документирования обнаруженных проблем.
 - Отображение свойств объектов: просмотр метаданных объектов, таких как класс, иерархический путь, пользовательские свойства и runtime-значения.