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 Возвращение домой
  • 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 Поворачиваем
  • 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 Собираем все в таблице
  • 261 Глава 9. Контроллеры навигации и табличные представления
    • 262 Контроллеры навигации
      • 262 Преимущества стека
      • 262 Стек контроллеров
    • 264 Nav — иерархическое приложение в шести частях
      • 264 Знакомство с подконтроллерами
      • 268 Создание каркаса приложения Nav
      • 275 Добавление изображений в проект
      • 276 Первый подконтроллер: представление кнопки раскрытия
      • 284 Второй подконтроллер: список вариантов
      • 288 Третий подконтроллер: элементы управления на строках таблицы
      • 295 Четвертый подконтроллер: перемещаемые строки
      • 301 Пятый подконтроллер: удаляемые строки
      • 306 Шестой подконтроллер: редактируемое детализированное представление
      • 325 Но это еще не все
    • 328 Мы на финише
  • 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 Резюме
  • 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 Настойчивость вознаграждается
  • 457 Глава 14. Эй, вы! Разберитесь с iCloud!
    • 458 Управление хранилищем документов с помощью класса UIDocument
      • 458 Создание приложения TinyPix
      • 459 Создание класса BIDTinyPixDocument
      • 462 Основной код
      • 469 Начальная раскадровка
      • 472 Создание класса BIDTinyPixView
      • 476 Детализация раскадровки
    • 480 Добавление поддержки службы iCloud
      • 480 Создание профиля ресурсов
      • 481 Подключение к службе iCloud
      • 481 Как послать запрос
      • 484 Где сохранить файл?
      • 484 Сохранение настроек в службе iCloud
    • 485 О чем мы не рассказали
  • 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 Куда ни пойдешь, всюду себя найдешь
  • 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 совершенно бесплатно.
iOS 5 SDK. Разработка приложений для iPhone, iPad и iPod touch
Рейтинг книги:
1 голос
1592

Поиск книг:




При поиске учитываются только слова, длина которых больше 3-х символов.

Статистика: