📄Работа №54066

Тема: ПРОГРАММНАЯ БИБЛИОТЕКА ДЛЯ ОТЛАДКИ ПОЛЬЗОВАТЕЛЬСКИХ ИНТЕРФЕЙСОВ iOS-ПРИЛОЖЕНИЙ

📝
Тип работы Дипломные работы, ВКР
📚
Предмет информатика
📄
Объем: 67 листов
📅
Год: 2017
👁️
Просмотров: 107
Не подходит эта работа?
Закажите новую по вашим требованиям
Узнать цену на написание
ℹ️ Настоящий учебно-методический информационный материал размещён в ознакомительных и исследовательских целях и представляет собой пример учебного исследования. Не является готовым научным трудом и требует самостоятельной переработки.

📋 Содержание

ВВЕДЕНИЕ 4
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, как и любых других компилируемых платформозависимых продуктов, обладает одним существенным недостатком по сравнению с интерпретируемыми решениями широко применяемыми в веб-разработке. Этим недостатком является потребность пересборки и перезапуска проекта целиком при любом малейшем внесении изменений в коде. Во многих ситуациях, это порождает ощутимые временные затраты на ожидание, например, при отладке внешнего вида графического интерфейса для соответствия дизайну. Ведь нередко даже при наличии так называемого "pixel-perfect" дизайна, что означает "пиксель в пиксель", разработка интерфейсной части мобильного приложения для iOS требует дополнительного времени для подбора параметров.
Временные задержки на перекомпиляцию и перезапуск растут вместе с ростом объемов проекта даже при нормальной работе инкрементальной сборки проекта, то есть, когда только измененные с последней компиляции части кода компилируются и подключаются к остальному, ранее уже скомпилированному.
В качестве решения изложенной выше проблемы в данной дипломной работе предлагается библиотека для модификации свойств графических элементов интерфейса во время выполнения приложения.
Таким образом, целью работы является реализация iOS-библиотеки для инспектирования свойств элементов графического интерфейса, а также модификации этих свойств во время исполнения приложения.
Задачи, выполнение которых необходимо для достижения поставленной цели:
• Определить методы и инструменты для решения поставленной задачи, разработать концепцию программной библиотеки.
• Спроектировать архитектуру для перехвата и самостоятельной маршрутизации событий касания без изменений в работе самого приложения.
• Реализовать iOS-библиотеку для инспектирования свойств элементов пользовательского интерфейса, а также модификации этих свойств во время исполнения приложения.

Возникли сложности?

Нужна качественная помощь преподавателя?

👨‍🎓 Помощь в написании

✅ Заключение

В результате выполнения данной дипломной работы была достигнута поставленная цель: разработана программная библиотека для отладки пользовательских интерфейсов iOS-приложений. Для успешного достижения данной цели были решены следующие задачи:
• Разработана концепция программного продукта, определены подходы к решению поставленной задачи и инструменты реализации.
• Спроектирована архитектура для перехвата и самостоятельной маршрутизации событий касания без изменений в работе самого приложения.
• Путем обратной разработки были получены имена приватных функций, необходимых для выполнения целей, намеченных на предыдущем этапе.
• Реализована iOS-библиотека для инспектирования свойств элементов пользовательского интерфейса, а также модификации этих свойств во время исполнения приложения.
В текущем виде реализованная библиотека предоставляет функционал интроспекции свойств объектов исключительно через механизмы среды исполнения Objective-C, что отражается в отсутствии доступа к типам данным, добавленным в языке Swift.
В дальнейшем планируется разделение функционала на:
• считывание свойств средствами рефлексии Swift
• модификацию средствами Objective-C Runtime

Нужна своя уникальная работа?
Срочная разработка под ваши требования
Рассчитать стоимость
ИЛИ

📕 Список литературы

1. Устройство Cocoa Touch [Электронный ресурс] http://class.ece.iastate.edu/cpre388/Fall2011/lecture/CocoaFundamentals.pdf
2. UIKit [Электронный ресурс]
https://developer.apple .сот/documentation/uikit
3. Шаблон проектирования MVC [Электронный ресурс] https://blog.codinghorror.com/understanding-model-view-controller/
4. Интроспектирование Swift [Электронный ресурс] https: / / speakerdeck.com/jpsim/intro specting-swift
5. Разбор Swift Reflection API - [Электронный ресурс]
https://appventure.me/2015/10/24/swift-reflection-api-what-you-can-do/ -
6. Исследование внутренностей Swift [Электронный ресурс] - http://www.eswick.com/2014/06/08/Inside-Swift/
7. Прояснение чистого Swift ABI, который пока находиться в
разработке [Электронный ресурс]
http s: //github. сот/apple/swift/blob/master/docs/Runtime .md
8. Objective C runtime [Электронный ресурс]
https://developer.apple.com/library/content/documentation/Cocoa/Conceptu al/Obj CRuntimeGuide/Articles/ocrtProperty Introspection. html#//apple_ref/d oc/uid/TP40008048-CH101-SWl
9. Objective C runtime [Электронный ресурс]
https://developer.apple.com/reference/objectivec/1657527-objective_c_runti me
10. Кодирование типов в Objective-C [Электронный ресурс] https://developer.apple.com/library/content/documentation/Cocoa/Conceptu al/Obj CRuntimeGuide/Articles/ocrtTypeEncodings .html
11. Использование рантайма Objective С в Swift [Электронный ресурс] - http://nshipster.com/swift-objc-mntime/
12. Различия в диспетчирезации Swift от Objc [Электронный ресурс] - https://www.raizlabs.com/dev/2016/12/swift-method-dispatch/
13. Описание окон UlWindow [Электронный ресурс] https://developer.apple.com/documentation/uikit/uiwindow
14. Исследование недокументированного API в iOS SDK [Электронный ресурс] - https://habrahabr.rU/post/149849/#Signature
15. Заголовки приватных пакетов iOS SDK [Электронный ресурс] - http s: //github. com/nst/iOS-Runtime-Headers

🛒 Оформить заказ

Работу высылаем в течении 5 минут после оплаты.

©2026 Cервис помощи студентам в выполнении работ