Тема: ПРОГРАММНАЯ БИБЛИОТЕКА ДЛЯ ОТЛАДКИ ПОЛЬЗОВАТЕЛЬСКИХ ИНТЕРФЕЙСОВ iOS-ПРИЛОЖЕНИЙ
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1. КОНЦЕПЦИЯ РЕШЕНИЯ 6
1.1. Инструмент инспектирования 6
1.2. Редактирование UI объектов 7
2. ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО РЕШЕНИЯ 9
2.1. Инструменты разработки 9
2.2. Шаблон проектирования 10
2.3. Иерархия представления 12
2.4. Обработка касаний 13
3. АНАЛИЗ СРЕДСТВ ИНТРОСПЕКЦИИ 14
3.1. Компилируемые аннотации 14
3.2. Рефлексия Swift 15
3.3. Устройство объектной модели Swift и её совместимость 16
3.4. Objective-C Runtime 17
3.5. Различия Swift и Objective-C 20
4. РЕАЛИЗАЦИЯ 22
4.1. Главный контроллер представления 22
4.2. Перехват и маршрутизация касаний 24
4.3. Работа с координатами
4.4. Обход ограничений в иерархии представлений 26
5. ИСПОЛЬЗОВАНИЕ ПРОГРАММНОЙ БИБЛИОТЕКИ 29
5.1. Меню быстрого доступа 29
5.2. Расширенный редактор 30
5.3. Модификация полей 31
ЗАКЛЮЧЕНИЕ 33
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 34
ПРИЛОЖЕНИЕ 36
📖 Введение
Временные задержки на перекомпиляцию и перезапуск растут вместе с ростом объемов проекта даже при нормальной работе инкрементальной сборки проекта, то есть, когда только измененные с последней компиляции части кода компилируются и подключаются к остальному, ранее уже скомпилированному.
В качестве решения изложенной выше проблемы в данной дипломной работе предлагается библиотека для модификации свойств графических элементов интерфейса во время выполнения приложения.
Таким образом, целью работы является реализация iOS-библиотеки для инспектирования свойств элементов графического интерфейса, а также модификации этих свойств во время исполнения приложения.
Задачи, выполнение которых необходимо для достижения поставленной цели:
• Определить методы и инструменты для решения поставленной задачи, разработать концепцию программной библиотеки.
• Спроектировать архитектуру для перехвата и самостоятельной маршрутизации событий касания без изменений в работе самого приложения.
• Реализовать iOS-библиотеку для инспектирования свойств элементов пользовательского интерфейса, а также модификации этих свойств во время исполнения приложения.
✅ Заключение
• Разработана концепция программного продукта, определены подходы к решению поставленной задачи и инструменты реализации.
• Спроектирована архитектура для перехвата и самостоятельной маршрутизации событий касания без изменений в работе самого приложения.
• Путем обратной разработки были получены имена приватных функций, необходимых для выполнения целей, намеченных на предыдущем этапе.
• Реализована iOS-библиотека для инспектирования свойств элементов пользовательского интерфейса, а также модификации этих свойств во время исполнения приложения.
В текущем виде реализованная библиотека предоставляет функционал интроспекции свойств объектов исключительно через механизмы среды исполнения Objective-C, что отражается в отсутствии доступа к типам данным, добавленным в языке Swift.
В дальнейшем планируется разделение функционала на:
• считывание свойств средствами рефлексии Swift
• модификацию средствами Objective-C Runtime



