iOS 5 SDK. Разработка приложений для iPhone, iPad и iPod touch
Дэйв Марк, Джек Наттинг, Джефф Ламарш
Книга представляет собой руководство, в котором подробно рассмотрены вопросы разработки приложений для устройств iPhone, iPad и iPod touch с использованием самых новых версий комплекта iOS SDK и системы iOS 5. Все проекты были созданы с помощью комплекта инструментов Xcode 4. Цель книги - объяснить, как работают приложения для системы iOS и продемонстрировать процесс их создания шаг за шагом, ничего не пропуская. Проработав книгу, читатели смогут самостоятельно разрабатывать профессиональные приложения для устройств iPhone, iPad и iPod touch, использующие новейшие возможности системы iOS.
В книге описаны современные технологии, включая раскадровки и службу iCloud. Все главы существенно переработаны с учетом новшеств, появившихся в комплекте iOS 5 SDK. Вы узнаете все, что необходимо для создания собственных приложений для новейших устройств, работающих под управлением системы iOS, включая iPhone 4S, iPad 2 и последние версии iPod touch.
Требуя от читателей лишь минимального знания языка программирования Objective-C и придерживаясь легкого и понятного стиля изложения, авторы книги предлагают вашему вниманию полный курс по программированию для устройств iPhone, iPad и iPod touch. Книга начинается с объяснений, как загрузить и инсталлировать программу Xcode и комплект iOS 5 SDK и как создать первое простое приложение.
Затем вы изучите способы интеграции все элементов интерфейса системы iOS, например, кнопок, переключателей, селекторов, инструментальных панелей и ползунков, которые пользователи должны хорошо знать и широко использовать. Вы освоите множество шаблонов проектирования: от простого одиночного представления до сложных иерархий представлений. Мы снимем покров таинственности с искусства создания таблиц, и вы научитесь сохранять и извлекать данные с помощью подсистемы Core Data и механизма SQLite.
И это еще не все! Вы научитесь рисовать с помощью библиотек Quartz 2D и OpenGL ES, добавлять в свои приложения поддержку сложных мультисенсорных жестов (щипков и скольжений), а также работать с фотоаппаратом, фотоальбомом, акселерометром и встроенной системой GPS. Вы узнаете, как лучше настроить приложение и научитесь локализовать его для многих языков.
Книга посвящена системе iOS 5, благодаря чему она стала бестселлером и самой нужной книгой для разработчиков, использующих технологию Cocoa Touch.
Книга содержат много полезных советов и методов, помогающих читателям стать профессиональными разработчиками приложений в системе iOS с помощью нового комплекта SDK.
Книга предназначена для программистов любого уровня.
Издательство: Вильямс, 2012 г.
ISBN 978-5-8459-1785-0, 978-1-43-023605-4
Количество страниц: 672.
Содержание книги «iOS 5 SDK. Разработка приложений для iPhone, iPad и iPod touch»:
- 18 Об авторах
- 19 О техническом редакторе
- 19 Благодарности
- 20 Предисловие
- 21 Глава 1. Добро пожаловать в джунгли
- 21 О чем эта книга
- 21 Что вам требуется
- 22 Возможности разработчика
- 24 Что необходимо знать
- 25 Чем отличается программирование для системы iOS?
- 26 Только одно активное приложение
- 26 Только одно окно
- 26 Ограниченный доступ
- 26 Ограниченное время отклика
- 26 Ограниченный размер экрана
- 27 Ограниченные ресурсы системы
- 27 Нет сборки мусора
- 28 Некоторые новшества
- 28 Другой подход
- 28 Содержание книги
- 30 Что нового в данном издании
- 30 Вы готовы?
- 31 Глава 2. Умиротворение богов Тики
- 31 Настройка проекта в среде Xcode
- 36 Окно рабочей области программы Xcode
- 43 Приступим к проекту
- 45 Введение в программу Interface Builder
- 46 Что записано в nib-файле
- 47 Библиотека
- 49 Добавление метки в окно View
- 51 Изменение атрибутов
- 52 Шлифовка приложения — завершающие штрихи
- 55 Возвращение домой
- 31 Настройка проекта в среде Xcode
- 57 Глава 3. Основы взаимодействия
- 57 Парадигма «модель–контроллер–представление»
- 58 Создание проекта
- 59 Создание контроллера представления
- 61 Выходы и действия
- 61 Выходы
- 62 Действия
- 63 Разработка контроллера представления
- 64 Разработка пользовательского интерфейса
- 65 Добавление кнопок и метода действия
- 69 Добавление метки и выхода
- 72 Создание метода действия
- 73 Испытание
- 73 Использование делегата приложения
- 77 Возвращаемся домой
- 79 Глава 4. Новые упражнения с интерфейсом
- 79 Экран, наполненный элементами управления
- 81 Активные, статические и пассивные элементы управления
- 83 Создание приложения
- 83 Реализация графического представления и полей редактирования
- 83 Добавление графического представления
- 87 Настройка атрибутов представления
- 89 Добавление полей редактирования
- 95 Установка атрибутов для второго поля редактирования
- 95 Создание и присоединение выходов
- 96 Закрытие клавиатуры
- 97 Закрытие клавиатуры при нажатии кнопки Done
- 98 Закрытие клавиатуры прикосновением к фону
- 100 Реализация ползунка и метки
- 102 Создание и связывание действий и выходов
- 102 Реализация метода действия
- 103 Реализация переключателей, кнопки сегментированного элемента управления
- 105 Реализация действий переключателя
- 105 Добавление кнопки
- 107 Реализация действия сегментированного элемента управления
- 107 Реализация списка действий и сигнала
- 108 Метод, реализующий делегата списка действий
- 108 Демонстрация списка действий
- 111 Украшение кнопки
- 112 Использование метода viewDidLoad
- 112 Состояния элемента управления
- 113 Растягивающиеся изображения
- 113 Финиш
- 115 Глава 5. Автоматический поворот и изменение размеров
- 116 Механизм автоматического поворота
- 116 Точки, пиксели и дисплей Retina
- 117 Способы реализации автоматического вращения
- 117 Обработка поворота с помощью автоматического изменения атрибутов
- 118 Конфигурирование видов поддерживаемой ориентации
- 118 Настройка поддержки поворота
- 120 Проектирование интерфейса с помощью атрибутов автоматического изменения размеров
- 121 Использование атрибутов автоматического изменения размеров в окне Size Inspector
- 123 Настройки атрибутов автоматического изменения размеров кнопок
- 124 Перестройка представления при повороте
- 125 Объявление и связывание выходов
- 125 Перемещение кнопок при повороте
- 126 Переключение представлений
- 128 Проектирование двух представлений
- 129 Реализация переключения
- 131 Изменение коллекций выходов
- 132 Поворачиваем
- 116 Механизм автоматического поворота
- 133 Глава 6. Приложения с несколькими представлениями
- 133 Основные типы приложений с несколькими представлениями
- 138 Архитектура приложения с несколькими представлениями
- 140 Корневой контроллер
- 140 Устройство представления содержимого
- 141 Создание переключателя представлений
- 142 Создание контроллера представления и nib-файлов
- 144 Модификация делегата приложения
- 145 Модификация файла BIDSwitchViewController.h
- 146 Добавление контроллера представления
- 147 Создание представления с инструментальной панелью
- 150 Создание корневого контроллера представления
- 153 Реализация представлений содержимого
- 156 Анимация перехода
- 159 Переключение
- 161 Глава 7. Панели вкладок и селекторы
- 162 Приложение Pickers
- 164 Делегаты и источники данных
- 165 Настройка каркаса панели вкладок
- 165 Создание файлов
- 167 Добавление корневого контроллера представления
- 168 Создание файла TabBarController.xib
- 174 Первичный тест
- 175 Реализация селектора даты
- 177 Реализация однокомпонентного селектора
- 178 Объявление выходов и действий
- 178 Создание представления
- 179 Реализация контроллера как источника данных и делегата
- 183 Реализация многокомпонентного селектора
- 184 Объявление выходов и действий
- 184 Создание представления
- 185 Реализация контроллера
- 187 Реализация зависимых компонентов
- 194 Создание простой игры с пользовательским селектором
- 194 Создание заголовочного файла контроллера
- 195 Создание представления
- 196 Добавление изображений
- 196 Реализация контроллера
- 198 Метод spin
- 199 Метод viewDidLoad
- 201 Последние штрихи
- 204 Связывание в Audio Toolbox Framework
- 205 Последний оборот
- 207 Глава 8. Введение в табличные представления
- 207 Азы табличных представлений
- 207 Табличные представления и ячейки табличного представления
- 209 Сгруппированные и простые таблицы
- 210 Реализация простой таблицы
- 210 Проектирование представления
- 211 Программирование контроллера
- 215 Добавление изображения
- 217 Использование стилей ячеек табличных представлений
- 219 Настройка уровня отступа
- 219 Обработка выбора строки
- 221 Изменение размера шрифта и высоты ячейки
- 222 Настройка ячеек табличного представления
- 222 Добавление дочерних представлений к ячейкам табличного представления
- 223 Создание подкласса UITableViewCell
- 224 Добавление новых ячеек
- 226 Реализация кода контроллера
- 229 Загрузка объекта класса uitableviewcell из nib-файла
- 230 Проектирование ячейки табличного представления в Interface Builder
- 232 Использование новой ячейки табличного представления
- 234 Группированные и индексированные разделы
- 234 Построение представления
- 234 Импорт данных
- 235 Реализация контроллера
- 238 Добавление индекса
- 239 Реализация панели поиска
- 240 Пересмотр проекта
- 241 Глубокое изменяемое копирование
- 242 Обновление заголовочного файла контроллера
- 243 Изменение представления
- 247 Изменение реализации контроллера
- 250 Копирование данных из словаря allNames
- 251 Реализация поиска
- 253 Изменения в методе viewDidLoad
- 253 Изменение методов источника данных
- 254 Добавление метода делегата табличного представления
- 254 Добавление методов делегата панели поиска
- 257 Добавление увеличительного стекла к индексу
- 259 Собираем все в таблице
- 207 Азы табличных представлений
- 261 Глава 9. Контроллеры навигации и табличные представления
- 262 Контроллеры навигации
- 262 Преимущества стека
- 262 Стек контроллеров
- 264 Nav — иерархическое приложение в шести частях
- 264 Знакомство с подконтроллерами
- 268 Создание каркаса приложения Nav
- 275 Добавление изображений в проект
- 276 Первый подконтроллер: представление кнопки раскрытия
- 284 Второй подконтроллер: список вариантов
- 288 Третий подконтроллер: элементы управления на строках таблицы
- 295 Четвертый подконтроллер: перемещаемые строки
- 301 Пятый подконтроллер: удаляемые строки
- 306 Шестой подконтроллер: редактируемое детализированное представление
- 325 Но это еще не все
- 328 Мы на финише
- 262 Контроллеры навигации
- 329 Глава 10. Механизм Storyboards
- 330 Создание простой раскадровки
- 333 Прототипы Динамических ячеек
- 333 Содержимое динамической таблицы в стиле раскадровок
- 335 Редактирование клеток прототипа
- 336 Источник данных для обычного табличного представления
- 338 Будет ли это загружаться?
- 339 Cтатические ячейки
- 339 Как обеспечить статичность
- 341 Старый добрый источник данных для табличного представления
- 342 Вы говорите: «переход», я говорю: «переход»
- 343 Создание навигатора переходов
- 343 Заполнение пустой грифельной доски
- 345 Первый переход
- 346 Немного более полезный список заданий
- 347 Просмотр деталей задания
- 348 Еще несколько переходов, пожалуйста
- 348 Передача задания из списка
- 350 Обработка деталей заданий
- 351 Передача деталей обратно
- 351 Как заставить список получать детали
- 353 Закончим работу гладким переходом
- 355 Глава 11. Особенности программирования для iPad
- 355 Раздельные представления и всплывающие меню
- 358 Создание проекта SplitView
- 360 Определение структуры с помощью раскадровки
- 361 Определение функциональности в коде
- 368 Работа над «президентским» приложением
- 374 Создание пользовательского всплывающего меню
- 380 Резюме
- 355 Раздельные представления и всплывающие меню
- 381 Глава 12. Приложение Settings и пользовательские настройки
- 381 Знакомство с пакетом настроек
- 383 Приложение AppSettings
- 385 Создание проекта
- 386 Подготовка пакета настроек
- 399 Чтение настроек в нашем приложении
- 403 Регистрация настроек, заданных по умолчанию
- 404 Изменение настроек из среды нашего приложения
- 408 Будем реально смотреть на мир
- 411 Телепортируй меня, Скотти
- 413 Глава 13. Персистентность данных
- 414 «Песочница» приложения
- 415 Определение местоположения каталога Documents
- 415 Определение местоположения каталога tmp
- 416 Стратегии сохранения файлов
- 416 Однофайловая персистентность
- 416 Многофайловая персистентность
- 417 Использование списков свойств
- 417 Последовательная сериализация списка свойств
- 418 Первая версия приложения Persistence
- 424 Архивирование объектов моделей
- 424 Соответствие протоколу NSCoding
- 425 Реализация протокола NSCopying
- 426 Архивирование и разархивирование объектов данных
- 427 Приложение Archiving
- 430 Использование встроенной в iOS базы данных SQLite3
- 431 Создание или открытие базы данных
- 433 Использование связанных переменных
- 434 Приложение SQLite3
- 440 Использование подсистемы Core Data
- 442 Сущности и управляемые объекты
- 446 Приложение Core Data
- 456 Настойчивость вознаграждается
- 414 «Песочница» приложения
- 457 Глава 14. Эй, вы! Разберитесь с iCloud!
- 458 Управление хранилищем документов с помощью класса UIDocument
- 458 Создание приложения TinyPix
- 459 Создание класса BIDTinyPixDocument
- 462 Основной код
- 469 Начальная раскадровка
- 472 Создание класса BIDTinyPixView
- 476 Детализация раскадровки
- 480 Добавление поддержки службы iCloud
- 480 Создание профиля ресурсов
- 481 Подключение к службе iCloud
- 481 Как послать запрос
- 484 Где сохранить файл?
- 484 Сохранение настроек в службе iCloud
- 485 О чем мы не рассказали
- 458 Управление хранилищем документов с помощью класса UIDocument
- 487 Глава 15. Организация фоновой обработки средствами технологии Grand Central Dispatch
- 487 Диспетчер Grand Central Dispatch
- 488 Введение в приложение SLOWWORKER
- 492 Основы многопоточной обработки
- 493 Единицы работы
- 493 Организация очередей на низком уровне средствами GCD
- 494 Особое назначение блоков
- 495 Усовершенствование приложения SlowWorker
- 502 Фоновая обработка
- 503 Жизненный цикл приложения
- 504 Уведомления о смене состояния
- 505 Создание приложения State Lab
- 506 Исследование состояний исполнения
- 509 Практическое применение смены состояний исполнения
- 510 Обработка неактивного состояния
- 514 Обработка фонового состояния
- 524 Прощание с диспетчером GCD
- 525 Глава 16. Рисование средствами Quartz и OpenGL
- 525 Две точки зрения на графику
- 526 Метод рисования, принятый в технологии Quartz
- 527 Графические контексты технологии Quartz
- 528 Система координат
- 529 Задание цветов
- 531 Рисование изображений в контексте
- 531 Рисование форм: прямоугольников, прямых и кривых линий
- 531 Образцы инструментальных средств Quartz 2D: узоры, градиенты и пунктиры
- 533 Приложение quatzfun
- 533 Создание приложения
- 542 Ввод кода рисования из библиотеки Quartz 2D
- 547 Оптимизация приложения QuartzFun
- 551 Приложение GLFUN
- 551 Создание приложения GLFUN
- 552 Создание класса BIDGLFunView
- 559 Обновление класса BIDViewController
- 560 Обновление nib-файла
- 560 Завершение приложения GLFun
- 560 Рисование до предела
- 561 Глава 17. Нажатия, касания и жесты
- 562 Мультисенсорная терминология
- 562 Цепочка реагирующих элементов
- 563 Реакция на события
- 564 Передача события по цепочке реагирующих элементов, поддерживаемой в активном состоянии
- 564 Мультисенсорная архитектура
- 565 Четыре метода уведомления о касаниях
- 566 Распознавание касаний
- 570 Распознавание скольжения пальцами по экрану
- 574 Применение автоматического распознавания жестов
- 575 Реализация скольжения несколькими пальцами по экрану
- 577 Распознавание многократных нажатий экрана
- 583 Распознавание щипков
- 585 Создание и применение специальных жестов
- 586 Определение жеста «галочка»
- 589 Методы класса CheckPlease
- 590 Ставим галочку!
- 591 Глава 18. Ориентирование на местности средствами подсистемы Core Location
- 592 Диспетчер местоположения
- 592 Задание требуемой точности
- 593 Установка фильтра расстояния
- 593 Запуск диспетчера местоположения
- 594 Благоразумное использование диспетчера местоположения
- 594 Делегат диспетчера местоположения
- 594 Обновление координат
- 594 Определение широты и долготы с помощью класса CCLocation
- 596 Уведомления об ошибках
- 597 Опробование подсистемы Core Location
- 601 Обновление диспетчера местоположения
- 602 Определение пройденного расстояния
- 603 Куда ни пойдешь, всюду себя найдешь
- 592 Диспетчер местоположения
- 605 Глава 19. Чудесные свойства акселерометра и гироскопа
- 605 Физические основы работы акселерометра
- 606 Не забывайте о вращении
- 607 Каркас Core Motion и диспетчер движения
- 607 Движение на основе событий
- 612 Упреждающий доступ к данным о движении
- 615 Результаты измерений акселерометром
- 616 Обнаружение сотрясений
- 617 Встроенные средства обнаружения сотрясений
- 618 Сотрясение на грани поломки
- 623 Акселерометр в качестве контроллера направления
- 624 Катание шаров
- 626 Построение представления для шарика
- 629 Расчет движения шарика
- 632 Продвижение вперед
- 633 Глава 20. Встроенная фотокамера и фотоархив
- 633 Применение селектора изображений и класса UIIMAGEICKERCONTROLLER
- 636 Реализация делегата контроллера для селектора изображений
- 637 Полевые испытания фотокамеры и фотоархива
- 639 Разработка интерфейса приложения
- 639 Реализация контроллера представления фотокамеры
- 644 Проще простого!
- 645 Глава 21. Локализация приложений
- 645 Архитектура локализации
- 647 Файлы символьных строк
- 647 Содержимое файла символьных строк
- 648 Макрокоманда для локализации символьных строк
- 649 Локализация реального приложения под iOS
- 650 Создание приложения LocalizeMe
- 653 Тестирование приложения LocalizeMe
- 654 Локализация nib-файла
- 655 Локализация национального флага
- 658 Формирование и локализация файла символьных строк
- 660 Локализация отображаемого названия приложения
- 661 Ауф видерзеен
- 663 Глава 22. Что дальше
- 663 Документация, предоставляемая компанией Apple
- 664 Списки рассылки
- 664 Дискуссионные форумы
- 665 Веб-сайты
- 666 Блоги
- 666 Конференции
- 667 Следите за публикациями авторов книги
- 668 На прощание
- 669 Предметный указатель
Инструкция как скачать книгу Дэйв Марк, Джек Наттинг, Джефф Ламарш: iOS 5 SDK. Разработка приложений для iPhone, iPad и iPod touch в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.