Skip to content
Maxatma edited this page Feb 24, 2015 · 1 revision

Тестовое задание. iOS. Пукнты 1, 2, 3 обязательны для выполнения. Пункты 4, 5 если есть опыт работы с сетью или БД соответсвенно.

Проект должен быть реализован с помощью Xcode версии 6, iOS SDK 8 или выше, на Objective­C. Интерфейс должен быть реализован с помощью Storyboard с использованием autolayouts (если в задании не указано иное). Тестирование приложения на реальном устройстве не обязательная, достаточно симмулятора. Придерживаться паттерна MVC. В результате нужно прислать архив реализованного проекта для ознакомления.

  1. Универсальное приложение (iPhone & iPad), min iOS 7.0, supported screens: 3.5, 4, 4.7, 5.5 inch (Retina), iPad (non Retina & Retina); supported orientations: iPhone ­ portrait, iPad ­ all. Приложение должно иметь иконку и splash screen. Необходимо сделать их используя любой логотип любой публичной компании.
  2. Интерфейс По работе с БД см. пункт 5. (Если не делаете пункт 5, то сделать через plist файл ­ массив из словарей, каждый словарь ­ информация юзера). Интерфейс должен быть реализован с помощью стандартных элеметов iOS SDK, необходимые иконки можно найти с помощью известных сервисов. Таббар, 2 таба. 2.1 Таб Users Список всех всех Users в базе, отсортированные по имени. В ячейке first and last name, иконка locked/unlocked (любая подходящая иконка). По выбору ячейки открывается детальный скрин юзера. Кнопка “+” открывает детальный скрин юзера в режиме редактирования (те же элементы, то же расположение с возможностью редактировать).  Детальный скрин юзера. Картинка, по Tap gesture открывается галлерея для выбора картинки (если в режиме редактирования). AGE ­ кнопка, тайтл это число, в редактировании кнопка показывает uipickerview со списком возрастов 18­60 в action sheet. Text Area ­ текст вью со свойством userDescription. Кнопка Save только в режиме редактирования, сохраняет в БД. 2.2 Таб Weather Кнопка GET ­ запрос на сервер, показывается какой нибудь прогресс индикатор, получен ответ ­ отобразить данные из ответа в тектовом поле в простом формате: key : value key : value ... Детали по работе с API см пункт 4. 3. Location После старта приложения получить текущие координаты. Использовать для получения погоды в пункте 4.
  3. Работа с сетью Можно использовать одну из известных библиотек. Запрос должен быть асинхронным. Работа с сетью должна быть реализована в отдельном классе. На время запроса показывать прогресс индикатор. JSON ответ преобразовать в объект. Объект использовать для отображения информации на скрине. Сохранять локально не нужно. В случае ошибки запроса выдавать соответсвующее сообщение. API http://openweathermap.org/current in JSON api.openweathermap.org/data/2.5/weather?lat=35&lon=139 где lat & lon должны быть текущие координаты.
  4. Работа с БД Использовать CoreData.framework, в дополнение может использоваться одна из известных библиотек. Для сохранения использовать sqlite. Работа с базой должна быть реализована в отдельном классе Структура. Сущности: User; свойства: firstName, lastName, age, userDescription, userEnabled
Clone this wiki locally