11 тем за 2 дня
Архитектура iOS. Обзор основных фреймворков (Foundation, UIKit, CoreGraphics, AVFoundation, CoreData). Работа с памятью до ARC и после. Обзор изменений в iOS 6.
Асинхронно и параллельно. Многозадачность в iOS. Работа с потоками, NSRunLoop, NSInvocation,объекты-операции NSOperation и зависимости между ними. Grand Central Dispatch, виды очередей и возможности для синхронизации. UI. Часть 1. Паттерн Model View Controller. Жизненный цикл приложения в iOS. Как все устроено: UIApplication, UIViewController, UIView, CALayer. Продвинутое использование CoreGraphics, CoreText, CoreAnimation. Storyboard и другие особенности iOS 5.
Работа с сетью. Особенности реализации NSURLConnection. Принципы безопасного взаимодействия с API. Кеширование данных. Пул запросов к серверу во внешней памяти. Загрузка больших файлов. Обзор популярных механизмов серверных push-сообщений.
Работа с данными. Сериализация данных и возможные форматы. Пользовательские настройки, NSUserDefaults. Взаимодействие с SQLite. Шифрование данных и работа с архивами. iCloud. In-AppPurchase и получение контента с сервера. Passbook.
Core Data. Использование нестандарных атрибутов у моделей. Версионность моделей. Способы ускорения работы с Core Data. Реализация многопоточного взаимодейсвия, проблемы и их решения.
UI. Часть 2. Кастомизация стандартных элементов. Кастомизация навигации в приложении. UITableView и анимации. Построение reusable-компонентов: Pull To Refresh, Folding View Controller.
Работа с медиа. Возможности AVFoundation. CoreAudio: AudioStreamer, AudioUnits. AudioToolbox. CoreImage и обработка изображений в iOS 5. Отладка приложения. Обзор и примеры использования Instruments. Поиск утечек и приемы работы с LLDB.
Тестирование. Обзор GHUnit, SenTestingKit. Различные подходы к тестированию: Test::Unit и RSpec. Тестирование интерфейса с помощью UI Automation. Деплой. Инструменты для сбора статистики и информации об ошибках. Автосборка iOS-проектов.