-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Maxatma edited this page Feb 24, 2015
·
1 revision
Тестовое задание. iOS. Пукнты 1, 2, 3 обязательны для выполнения. Пункты 4, 5 если есть опыт работы с сетью или БД соответсвенно.
Проект должен быть реализован с помощью Xcode версии 6, iOS SDK 8 или выше, на ObjectiveC. Интерфейс должен быть реализован с помощью Storyboard с использованием autolayouts (если в задании не указано иное). Тестирование приложения на реальном устройстве не обязательная, достаточно симмулятора. Придерживаться паттерна MVC. В результате нужно прислать архив реализованного проекта для ознакомления.
- Универсальное приложение (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. Необходимо сделать их используя любой логотип любой публичной компании.
- Интерфейс По работе с БД см. пункт 5. (Если не делаете пункт 5, то сделать через plist файл массив из словарей, каждый словарь информация юзера). Интерфейс должен быть реализован с помощью стандартных элеметов iOS SDK, необходимые иконки можно найти с помощью известных сервисов. Таббар, 2 таба. 2.1 Таб Users Список всех всех Users в базе, отсортированные по имени. В ячейке first and last name, иконка locked/unlocked (любая подходящая иконка). По выбору ячейки открывается детальный скрин юзера. Кнопка “+” открывает детальный скрин юзера в режиме редактирования (те же элементы, то же расположение с возможностью редактировать).  Детальный скрин юзера. Картинка, по Tap gesture открывается галлерея для выбора картинки (если в режиме редактирования). AGE кнопка, тайтл это число, в редактировании кнопка показывает uipickerview со списком возрастов 1860 в action sheet. Text Area текст вью со свойством userDescription. Кнопка Save только в режиме редактирования, сохраняет в БД. 2.2 Таб Weather Кнопка GET запрос на сервер, показывается какой нибудь прогресс индикатор, получен ответ отобразить данные из ответа в тектовом поле в простом формате: key : value key : value ... Детали по работе с API см пункт 4. 3. Location После старта приложения получить текущие координаты. Использовать для получения погоды в пункте 4.
- Работа с сетью Можно использовать одну из известных библиотек. Запрос должен быть асинхронным. Работа с сетью должна быть реализована в отдельном классе. На время запроса показывать прогресс индикатор. JSON ответ преобразовать в объект. Объект использовать для отображения информации на скрине. Сохранять локально не нужно. В случае ошибки запроса выдавать соответсвующее сообщение. API http://openweathermap.org/current in JSON api.openweathermap.org/data/2.5/weather?lat=35&lon=139 где lat & lon должны быть текущие координаты.
- Работа с БД Использовать CoreData.framework, в дополнение может использоваться одна из известных библиотек. Для сохранения использовать sqlite. Работа с базой должна быть реализована в отдельном классе Структура. Сущности: User; свойства: firstName, lastName, age, userDescription, userEnabled