Создание программ на ios. Как создать игру для iOS без начальных знаний

Наверняка у наших читателей возникало желание создать собственное приложение для iOS. Одним не дают покоя лавры MSQRD и месячный заработок разработчиков игры Clash of Clans, другие просто хотят изменить мир к лучшему и начать свой бизнес. Мы разберем основные этапы создания приложения и дадим советы, как избежать «подводных камней» в процессе разработки.

Этап первый. Идея


Первый этап — самый сложный и интересный: от него зависит, наберет ли ваше приложение сотню-другую тысяч скачиваний в . Это может быть очередная игра в жанре «три-в-ряд», утилита для удобного создания заметок, агрегатор предложений из онлайн-магазинов одежды и многое другое. Главное - все тщательно продумать и ответить на вопрос, какую задачу решит это приложение. Если трудностей с ответом не возникло, значит вы на правильном пути.

Этап второй. Выбор инструментария


После того как идея придумана, не надо бежать писать код в Xcode, даже если Марк Цукерберг при создании Facebook поступал именно так. Сначала следует поработать над внешним видом (дизайном) приложения - лучше всего подойдет . При помощи плагина Sketch Preview вы сможете изучать наработки сразу на устройстве, потребуется только установить бесплатную программу Skala Preview. Как только с дизайном покончено, и вы уже знаете, какая кнопка за что будет отвечать, принимайтесь за написание кода.

Этап третий. Разработка


При разработке приложений для iOS в основном используется язык программирования Objective-C, но сейчас активно набирает обороты и Swift. У него более простой синтаксис, поэтому Swift проще в освоении. Самостоятельно научиться писать код можно, но это непросто, к тому же, пока вы сами проштудируете десятки учебников, кто-то может создать аналогичное приложение с такой же идеей.

Чтобы ускорить обучение, ищите курсы и программы по изучению Swift, где вам помогут создать первое приложение для iOS. Одним из самых популярных считается от Mail.ru Group. Там вас научат, как организовать работу с базой данных при помощи CoreData, зачем в приложении использовать Bottom Edge Swipe и как отправить свою разработку для публикации в App Store, избежав скандалов с модераторами. К тому же, после обучения вас ждет гарантированное трудоустройство.


Этап четвертый. Выбор имени


Можно в это не верить, но от нейминга приложения зависит больше половины его успеха. Ведь это первое (за исключением иконки), что видит пользователь, в том числе «зашедший» с поиска, поэтому и подход здесь нужен основательный:

  • если речь идет об игре, вы вольны выбирать между тысячами вариантов;
  • если приложение с узкой направленностью (например, про заметки), логично придумать что-то со словом «Notes»,
  • если про музыку - «Music», чтобы вашим продуктом пользовались не только в России.

После выбора имени, как правило, довольно просто нарисовать иконку для приложения. Не стесняйтесь повторяться и брать идеи у других разработчиков, но и увлекаться этим не стоит. А то получится что-то вроде этого:


Этап пятый. Публикация


После того, как приложение готово, все баги устранены, а иконка и название ждут своего часа, его можно загружать в App Store. Для начала потребуется приобрести аккаунт разработчика за 99 долларов (в год), потом потратить много времени на изучение магазина приложений Apple, ведь на каждый пункт здесь приходится еще несколько подпунктов. Если программа соответствует всем требованиям, можно приступать к ее загрузке в App Store. А там останется только ждать, будут ли какие-то замечания от модераторов магазина.

Как упростить задачу

Даже если все пройдет гладко, далеко не факт, что ваше приложение «взлетит», а ведь на его создание вы уже затратили трудовые и временные ресурсы. Факультет iOS-разработки онлайн-университета GeekUniversity решает эту и многие другие задачи:

  • Позволяет научиться разрабатывать приложения на Swift.
  • Помогает изучить основы Objective-C и баз данных.
  • Дает шанс учиться на факультативах компаний «Альфа-Банк», «МТС» и Avito./li>
  • Подготавливает к собеседованию и гарантирует трудоустройство.


После года обучения вы получите опыт разработки iOS-приложения с нуля, навыки работы в команде, опыт разработки бок о бок с ведущими специалистами российских IT-компаний и многое другое - подробности . Конечно, каждый волен сам выбирать свой путь, но если выпадает шанс пойти по более интересной дороге, почему бы этим не воспользоваться?

1. Идея приложения и консультация

Люди приходят к нам в компанию, чтобы воплотить в жизнь свою идею и автоматизировать бизнес-процессы. Мы предоставляем бесплатную конкультацию у аналитика InfoShell и доработку идейной составляющей проекта.

Идея и консультация

Почти всегда идея, с которой клиенты приходят к нам, требует аналитики и доработки. Эта работа необходима, чтобы на старте четко понимать, что мы имеем и в каком направлении двигаться, а также, чтобы продумать стратегию создания лучшего продукта.

На этом этапе мы проводим аналитику рынка приложений/веб-сервисов по выбранной тематике, выявляем лидеров и находим примеры плохой реализации, определяем критерии их успеха или провала. Мы изучаем продукты конкурентов с точки зрения интерфейсных решений, ориентирования на конечного пользователя, выполнения сервисом своих целей и задач и выявляем их преимущества и недостатки.

Полученные знания проецируем на будущее приложение, формируем представление о конечном продукте, о пользователях и их целях, и в результате получаем видение будущего проекта, зафиксированное в документе - project vision.

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

Приступаем к работе!

2. Оценка проекта и предложение

Оценку проекта производит команда разработчиков. После чего клиент получает предварительное коммерческое предложение.

Оценка проекта и предложение

После составления project vision проекта наша команда разработчиков оценивает примерные трудозатраты на реализацию продукта. Исходя из поставленных задач и технологических ограничений, составляется оценка количества часов, необходимых на создание вашего продукта.

На основе полученной оценки формируется предварительное коммерческое предложение, в которое входит описание похожих проектов, реализованных нашей компанией, состав команды разработчиков и профессиональный уровень каждого участника, стоимость всего проекта с разбиением на этапы.

На коммерческом предложении в дальнейшем будет основан договор.

3. Бэклог и договор

Встреча с продукт-оунером, обсуждение деталей проекта. Команда разрабатывает бэклог на весь проект совместно с заказчиком. После утверждения бэклога, с заказчиком подписывается договор.


* продукт оунер – руководитель проекта


Ответственность за содержимое бэклога, его упорядочение и доступность всем членам проекта несет Product Owner. Он также ответственен за достижение максимальной ценности продукта и работы, выполняемой командой, поэтому непрерывно анализирует текущий ход работ над продуктом и ищет способы по улучшения его. Эту роль может исполнять как человек со стороны заказчика, так и сотрудник нашей компании.


**бэклог – список задач для команды разработчиков, которые полностью описывают проект


Документ представляет собой иерархическую структуру из пользовательских возможностей и технических требований, упорядоченных по очередности реализации, более важный функционал будет реализован раньше остальных. Каждому элементу Бэклога присваиваться описание, порядковый номер, оценка объема работы и ценность. Это позволяет просчитать окончательную стоимость продукта.

Договор в первую очередь обеспечивает полную прозрачность проводимых работ для заказчика и позволяет ему контролировать процесс от А до Я на каждом этапе. Все этапы прописываются отдельно, что позволяет производить оплату выполненной работы по факту сдачи.

Бэклог – гибкий документ, который позволяет Заказчику вносить даже серьезные изменения в продукт по ходу разработки, ведь большинство новаторских идей придумываются уже в ходе выполнения проекта. Дополнительный функционал оформляется в виде доп. соглашений к договору, в которых отмечается, сдвинет ли реализация вносимых изменений сроки завершения этапов проекта.

4. Планирование спринта

Договоренность с заказчиком о том, какие задачи будут выполнены на ближайшем спринте.

Планирование спринта

Сердцем Scrum* является Спринт** длительностью в одну или две недели, в течение которых создается потенциально готовая к выпуску и использованию часть продукта.


*Scrum – гибкая методология создания, по который мы ведем проекты

** Спринт-этап в рамках которого реализуется определенная часть проекта


Обычно длительность Спринта является постоянной на протяжении всего периода разработки. Следующий Спринт начинается сразу же по окончании предыдущего.

Спринт состоит из списка того, какие функции нужно разработать и гибкого плана, служащего ориентиром в работе по проекту. Ресурсом для планирования спринта является Бэклог Продукта.

В конце Спринта, после демонстрации Заказчику результата работы, команда проводит ретроспективу. Ретроспектива дает команде возможность инспектировать себя и определить успешные/неудачные моменты работы. И что самое важное, в процессе ретроспективы команда находит пути улучшения качества разрабатываемого продукта и применяет их в течение следующего Спринта.

Каждый день команда отчи -тывается продукт-оунеру о выполненных задачах.

отчётность команды продукт-оунеру

6. Завершение

Клиент получает готовое приложение, которое поможет ему достигнуть поставленных целей.

Разработка приложений для iOS может быть не только весьма увлекательным, но и достаточно прибыльным занятием. Достаточно всего лишь создать качественный актуальный для пользователей яблочных устройств Soft, выложить его в AppStore и наслаждаться плодами своей деятельности, то есть получать финансовую прибыль.

Сегодня многие энтузиасты находятся в поисках ответа на вопрос о том, как создать приложение для iOS на Windows. Официальных способов решить эту проблему не существует. Некоторое ПО, решающее задачу создания приложений для iOS, есть. Однако его использование приводит к ряду сложностей.

Поэтому каждому, кто решил серьезно заняться разработкой программ и игр для мобильных устройств от Apple, стоит обзавестись компьютером с OS X версии 10.8 и выше.

Как создать приложение для iOS: последовательность действий

Для того чтобы начать создавать приложения для iOS, потребуется пройти определенную подготовку, а именно:

  • Установить программу Xcode. Она предоставляется компанией Apple на бесплатной основе и может быть установлена только на OS X. Методов запуска данного ПО на Windows и Linux не существует.
  • Установить функциональный текстовый редактор, например, JEdit или TextMate. Это позволит существенно упростить выполнение некоторых действий, например, написание кода.
  • Установить программу векторной графики. Она необходима для разработки игр и программ с изображениями и дизайном. Можно воспользоваться таким ПО, как Inkscape, Adobe Illustrator и CorelDraw. Их бесплатным аналогом является программа DrawBerry.
  • Изучить основы Objective-C – языка программирования, без которого невозможно создание игр для iOS и функциональных программ. Хотя создать простое ПО без этого языка программирования возможно, сделать его функциональным не удастся. (Если желание познавать Objective-C отсутствует, то придется пользоваться услугами фрилансеров, которые будут выполнять часть работы по разработке приложений за финансовое вознаграждение).
  • Создать аккаунт разработчика. Для этого придется заплатить 99$ (плата взимается каждый год) и ввести налоговую информацию.
  • Скачать и рассмотреть тестовые приложения. Это позволит получить наглядный опыт разработки iOS.


Качественный программный продукт – это продукт, в основе которого лежит точно сформулированная концепция. Именно поэтому начинать создание приложения для iOS необходимо с его планирования. Это подразумевает:

  • Определение концепции будущей программы (дизайн, функциональность, основные действия, схема работы будущего софта – все это должно быть четко продумано и утверждено). Если стоит задача создания игры для iOS, то должен быть выбран ее жанр, продумана сюжетная линия, персонажи и так далее.
  • Выбрать целевую аудиторию, которая очень сильно зависит от функциональности ПО.
  • Выбрать конкретные задачи, которые будет решать разрабатываемый софт.
  • Продумать пользовательских интерфейс, который должен быть таким, чтобы содействовать максимально быстрому решению подлежащих приложению задач. Лучше проработать несколько вариантов, наглядное изучение которых поможет определиться с окончательным выбором.

Теперь можно приступать непосредственно к разработке мобильных приложений под iOS. Для этого в программе для создания приложений для iOS (Xcode) необходимо начать новый проект и указать все нужные данные. Далее процесс разработки выглядит примерно следующим образом:

  • Создание Storyboard, что необходимо для визуального отображения всех экранов будущего приложения, а также переходов между ними.
  • Назначение Storyboard созданному проекту. Это необходимо для того, чтобы выбранный интерфейс загружался при старте программы.
  • Создание первого экрана с помощью контролера вида. Существует широкое разнообразие уже созданных контроллеров, а сами они необходимы для того, чтобы программа «понимала», каким именно образом отображать содержимое пользователю.
  • Добавление объектов интерфейса. Разработка приложения для iOS невозможна без использования таких элементов функционального интерфейса, как текстовые поля, различные метки, навигация, кнопки и прочие. Все они находятся в списке Objects Library.
  • Изменение свойств добавленных объектов. Это необходимо для придания создаваемой программе индивидуальности. Без этого не удастся создать популярную программу для iOS.
  • Добавление новых экранов. Практически каждое современное приложение для мобильных устройств от Apple имеет несколько пользовательских экранов.
  • Добавление функциональной навигационной панели, которая необходима для перемещения пользователей между экранами программы.
  • Назначение функциональности созданных кнопок.
  • Создание возможности обработки данных программой. Этот шаг подразумевает использование языка программирования Objective-C, при помощи возможностей которого приложение сможет хранить и обрабатывать внесенные пользователем данные, а также выполнять прочие функции.


Всем привет! Сегодня я вам расскажу, как создавать приложения для ios и android без умения кодить. Покажу я это на примере создания приложения для кеддра. Приложения несложные, что-то вроде меню для вашего ресторана или клиента под сайт с социалками. В процессе вы разберётесь. Поехали!

Делать наше приложение мы будем с помощью конструктора. Изучив несколько, я понял что лучший конструктор – это Como App Maker. Собственно, им и воспользуемся. Плюсом данного мейкера является простота, интуитивный интерфейс, поддержка многих социальных сетей, а еще он создает приложения одновременно для ios и android. Также работу нашего приложения мы можем видеть на экранчике смартфона справа и делать манипуляции мышкой. Поэтому, если вы допустили какую-то ошибку, вы можете ее сразу обнаружить и тут же исправить.

Для начала нам предлагают выполнить три простых шага. Первым делом придумаем имя. Пусть это будет keddro app.

Теперь нужно выбрать категорию. Выбираем other (другое).



Поздравляю! Теперь мы можем начать создавать наше замечательное приложение.


Ну что ж, наше приложение будет состоять из нескольких страниц. Для начала добавим сайт.


Теперь добавим лого для нашей страницы.


Отлично. Теперь немного социалок (куда же без них?). Добавим твиттер кеддра.


Добавим еще твиттер Саши и Сёмы.


Чуть не забыл о самом главном. Keddr – это же не только текст. Это еще и замечательные креативные обзоры.


Так, поддержка ютуба имеется. Пожалуй, добавим еще instagram. Все ведь любят ляпографию, не так ли? Ну и Семена за компанию добавим:)


Основная работа закончена. Теперь немного подредактируем дизайн: немножко изменим цвет, на фон поставим лого кеддра и добавим иконку.




Что касается иконки, есть много сервисов, с помощью которых, можно ее создать. Я используй icon designer для iPad. Приложение бесплатное. Правда, чтобы сохранять иконки в высоком качестве, нужно купить полную версию. Впрочем, нам это не нужно.

Все готово. Если вы предварительно не зарегистрировались, вам предложат это сделать или войти через Facebook. После того, как мы авторизируемся, нам предложат выбрать тарифный план. Если вы не собираетесь делать приложения на регулярной основе, вам будет достаточно бесплатного.


Теперь нам предлагают распространить наш апп в цифровые магазины. Так как у меня нет аккаунта разработчика, я просто скачаю апекашечку.


Готово! Теперь можем установить и проверить наш keddro app. Если вы допустили какую-то ошибку, вы всегда можете вернутся на сайт и отредактировать свое приложение. А заценить keddro app вы можете по ссылке (https://www.dropbox.com/s/wbp5i3rm7tq56le/keddroapp.apk)

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter .

Это руководство научит вас тому:

  • Как использовать Xcode для создания и управления проектом
  • Как определить ключевые части Xcode проекта
  • Как собрать и запустить ваше приложение на iOS Симуляторе
  • Как создать стандартный пользовательский интерфейс в storyboard’е
  • Как предварительно просмотреть интерфейс
  • Как использовать Авто Расположение для добавления гибкости интерфейса

После того как вы закончите это руководство, у вас будет приложение, похожее как изображённое на рисунке:

Это руководство использует Xcode 6.1.1 и iOS SDK 8.1 , если вы используете другие версии вы можете столкнуться с некоторыми различиями.

Создание Нового Проекта

Xcode включает несколько втроенных шаблонов , которые вы можете использовать для разработки распространённых типов iOS приложений, таких, как игры, приложения с навигацией, основанной на закладках и приложения, построенные на табличном представлении данных. Большинство этих шаблонов имеют предварительно сконфигурированный интерфейс и файлы с исходным кодом. В этом руководстве вы начнёте с наиболее простого шаблона: Single View Application .

Работа с шаблоном Single View Application поможет вам понять базовую структуру iOS приложения и как контент попадает на экран. После того как вы узнаете, как всё работает, вы можете использовать один из других шаблонов для собственного приложения.

Чтобы создать новый проект:

  1. Откройте Xcode из каталога Приложения

Появится Окно приветствия Xcode


Если проектное окно появляется вместо Окна приветствия не беспокойтесь, вы, возможно, создавали или открывали проект в Xcode ранее. Просто используйте пункт меню следующего шага, чтобы создать проект.

2. В Окне приветствия нажмите «Создать новый Xcode проект» (или выберите File > New > Project ).

Xcode откроет новое окно и покажет диалог, в котором вы сможете выбрать шаблон.


3. В разделе iOS в левой части диалога выберите Приложение.

4. В главной области диалога нажмите Single View Application и после нажмите Далее .

5. В появившемся диалоговом окне назовите ваше приложение и выберите дополнительные опции для вашего проекта.


Используйте следующие значения:

  • Product Name: ToDoList

Xcode использует имя продукта в качестве названия вашего проекта и вашего приложения.

  • Organization Name: называние вашей компании, или ваше собственное имя. Это поле можно не заполнять.
  • Organization Identifier: идентификатор вашей компании, если он есть. Если нет, то используйте com.example .
  • Bundle Identifier: это значение автоматически сгенерируется, основываясь на Product Name и Organization Identifier.
  • Language: Objective-C
  • Devices: Universal

Universal приложение — это то приложение, которое может запускаться и на iPhone и на iPad.

  • Use Core Data: оставьте не выбранным.

7. В появившемся диалоговом окне выберите куда будет сохранён ваш проект и нажмите Создать.

Xcode откроет ваш новый проект в окне (называется это окно workspace window ), которое будет выглядеть вот так:


Вы можете получить сообщение об ошибке, в котором будет написано «No signing identity found». Это предупреждение означает, что вы пока не настроили Xcode для iOS разработки, но вы можете закончить это руководство и без этого. В конце документа вы найдёте ссылку на руководство, которое поможет вам настроить Xcode и продолжить iOS разработку.

Знакомство с Xcode

Xcode содержит всё, что вам понадобится для создания приложения . Он не только организует файлы, которые появляются в процессе создания приложения, Xcode предоставляет редакторы кода и элементов интерфейса, позволяет вам собирать и запускать ваше приложение и содержит мощный интегрированный отладчик.

Ещё несколько слов для ознакомления вас с рабочим пространством Xcode. Вы будете использовать элементы управления, располагающиеся как на рисунке ниже, на всём протяжении этого руководства. Понажимайте различные кнопки, чтобы понять как они работают. Если вы хотите узнать больше об интерфейсе, прочитайте для этого дополнительные статьи, которые вы найдёте кликнув по области в Xcode, с зажатым CTRLl и выбрав статью из появившегося меню быстрого вызова.


Запуск iOS Симулятора

Так как ваш проект основан на шаблоне Xcode, для вас автоматически настраивается базовая среда приложения. Даже если вы не написали ни строчки кода, вы можете собрать и запустить шаблон Single View Application без какой-либо добавочной конфигурации.

Для сборки и запуска вашего приложения используйте iOS Симулятор приложения, который встроен в Xcode. Как понятно из его названия iOS Симулятор позволяет вам увидеть как ваше приложение будет выглядеть и как будет вести себя, если мы запустим его на iOS устройстве.

iOS Симулятор может моделировать разные типы устройств iPhone, iPad с разными размерами экрана и т. д. В результате вы можете смоделировать ваше приложение на каждом устройстве под которое разрабатываете. В этом руководстве используется вариант .

Для запуска приложения в iOS Симуляторе

  1. Убедитесь что выбран iPhone 6 из всплывающего меню «Scheme » на панели Xcode.


Не спешите и посмотрите в меню, чтобы увидеть какие ещё варианты устройств доступны на iOS Симуляторе.

2. Нажмите кнопку Запустить, находящуюся в верхнем левом углу панели Xcode.

Также вы можете выбрать Product > Run (или нажать Command-R ). Если вы в первый раз запускаете приложение Xcode спросит хотите ли вы включить режим разработки на вашем Mac. Режим разработки позволяет Xcode иметь доступ к определённым функциям отладки без необходимости ввода вашего пароля каждый раз. Решите, хотите ли вы включать режим разработки и следуйте подсказкам. Если вы выберите не включать его, позже у вас запросят пароль. В руководстве режим разработки разрешён.

3. Посмотрите на панель инструментов Xcode по завершении процесса сборки.

Xcode отобразит сообщения о процессе сборки в панели просмотра активных задач , которая находится в середине панели инструментов.

iOS Симулятор запустится автоматически после того, как Xcode завершит сборку вашего проекта. Это может занять пару минут при первом запуске.

iOS Симулятор откроется в режиме iPhone, как вы указали. Симулятор покажет ваше приложение на виртуальном экране iPhone. До того, как приложение полностью запустится вы увидите на экране запуска название вашего приложения ToDoList.

После, вы должны увидить, что-то вроде этого:

Сейчас шаблон Single View Application, почти ничего не делает, он только показывает белый экран. Другие шаблоны имеют более сложное поведение. Очень важно понять назначения шаблонов до того, как вы решите использовать их для создания приложения. Запуск вашего приложения на iOS Симуляторе без изменений — это лучший путь для понимания его разработки.

Закройте iOS Симулятор, выбрав iOS Simulator > Quit iOS Simulator (или нажав Command-Q )

Обзор исходного кода

Шаблон Single View Application содержит несколько файлов с исходным кодом, которые настраивают среду приложения. Большую часть работы выполняет функция UIApplicationMain , которая автоматически вызывается в вашем проекте в исходном файле main.m . Функция UIApplicationMain создаёт объект приложения, который настраивает инфраструктуру для работы вашего приложения с системой iOS. Это включает создание цикла выполнения , который доставляет входные события в ваше приложение. Вам не нужно работать с исходным кодом main.m напрямую, но важно понять, как он работает.

Посмотрим на исходный файл main.m

  1. Удостоверьтесь, что навигатор проекта открыт в навигационной панели.

Навигатор проекта показывает все файлы в вашем проекте. Если навигатор проекта не открыт, нажмите крайнюю левую кнопку на панели переключения навигации. (Или откройте его, нажав View > Navigators > Show Project Navigator .)


2. Откройте каталог Supporting Files в навигаторе проекта кликнув по треугольнику рядом за ним.

3. Выберете main.m .

Xcode откроет исходный файл в основной области редактирования, как на рисунке:


Или вы можете дважды кликнуть на файл main.m , чтобы открыть его в отдельном окне.

Файл main.m и функция UIApplicationMain

Функция main в main.m вызывает функцию UIApplicationMain внутри autorelease pool

  1. @autoreleasepool {
  2. returnUIApplicationMain(argc, argv, nil, NSStringFromClass());

Оператор @autoreleasepool здесь для управления памятью в вашем приложении. Автоматический подсчёт ссылок (ARC) делает управление памятью простым, давая компилятору выполнять работу по отслеживанию того, кто владеет объектом. @autoreleasepool — это часть инфраструктуры управления памятью.

Вызов UIApplicationMain создаёт 2 важных начальных компонента вашего приложения:

  • Экземпляр класса UIApplication , называемый объектом приложения .

Объект приложения управляет циклом событий и координирует другие высокоуровневые особенности поведения приложения. Этот класс определённый в UIKit фреймворке, не требует от вас писать какой-либо дополнительный код, для его работы.

  • Экземпляр класса XYZAppDelegate , называемый делегатом приложения .

Xcode создаёт этот класс для вас как часть создания шаблона Single View Application. Делегат приложения создаёт окно, где рисуется контент вашего приложения и предоставляет место, для реагирования на изменение состояния приложения. Это то где вы пишете свой код. Как и все классы, класс XYZAppDelegate определён в двух файлах в вашем приложении: в файле интерфейса XYZAppDelegate.h , и в файле реализации XYZAppDelegate.m .

Когда ваше приложение запускается объект вызывает определённые методы у делегата, давая вашему коду, возможность выполнить свою работу. Именно тогда выполняется поведение приложения.

Исходный файл Делегата Приложения

Для того чтобы глубже понять роль делегата приложения, посмотрите его исходные файлы, AppDelegate.h (файл интерфейса) и AppDelegate.m (файл реализации). Чтобы посмотреть файл интерфейса делегата выберете AppDelegate.h в навигаторе проекта. Интерфейс делегата приложения содержит всего одно свойство: window . С помощью этого свойства делегат приложения следит за окном, в котором написан весь контент вашего приложения.

После посмотрите файл реализации делегата приложения. Для этого выберите AppDelegate.m в навигаторе проекта. Реализация делегата приложения содержит «скелеты» важных методов. Эти предопределённые методы позволяют объекту общаться с делегатом. В момент важного события времени выполнения, например, запуска приложения, предупреждения о загруженности памяти и завершения приложения — объект приложения вызывает соответствующий метод в делегате приложения, давая ему возможность отреагировать соответственно. Вам не нужно делать что-то особенное, для того, чтобы быть уверенным в том, что эти методы вызовутся в нужный момент времени — объект приложения берёт на себя эту часть работы.

Каждый из этих автоматически реализованных методов имеет поведение по умолчанию. Если вы оставите «скелет» реализации пустым или удалите его из вашего AppDelegate.m файла, вы получите поведение по умолчанию когда бы эти методы ни были вызваны. Используйте эти «скелеты» для того, чтобы добавить код, который будет исполнен когда метод будет вызван. В этом руководстве, вам не требуется использовать специальный код, поэтому вам не нужно вносить какие-либо изменения в файл AppDelegate.m .

Открытие Storyboard

На данный момент вы уже готовы создать Storyboard для вашего приложения. Storyboard — это визуальное представление пользовательского интерфейса приложения, которое отображает экраны с содержимым и переходы между ними. Вы используете Storyboard’ы для описания последовательности представлений.

Для того чтобы открыть storyboard нужно:

  • В навигаторе проекта надо выбрать Main.storuboard .

Xcode откроет storyboard в Interface Builder — в визуальном редакторе интерфейса, в области редактирования. Всё, что вы видите в окне представления — это рабочая область . На ней вы добавляете и размещаете элементы интерфейса.

Storyboard вашего приложения должна выглядеть вот так:


На этом этапе storyboard в вашем приложении содержит всего одну сцену , которая отображает экран с контентом. Стрелка, с левой стороны сцены — это индикатор главной сцены , который означает что она загружается первой во время запуска приложения. Сейчас сцена, которую вы видите, содержит одно Представление, которое управляется Контроллером Представлений. Вы узнаете больше о роли представлений и контроллеров представлений после этого урока.

Когда вы запускаете приложение на iOS Симуляторе первое, что вы увидите на экране — это представление, добавленное на сцену. Но, когда вы посмотрите на сцену, которая находиться на рабочей области, вы заметите, что у неё нет точного размера экрана iPhone 6. Это происходит потому что у сцены имеется общее отображение интерфейса, которое может применяться на любом устройстве с любой ориентацией экрана. Вы используете эту функцию для создания Приспосабливающегося Интерфейса, который может автоматически регулировать отображение контекста в зависимости от устройства и ориентации. Вы узнаете больше о том, как сделать ваш интерфейс Приспосабливающимся чуть позже.

Построение Базового Интрефейса

Настало время построить базовый интерфейс для сцены, который позволит добавить новый элемент в список дел.

Xcode предоставляет библиотеку объектов, которую вы можете добавить в файл storyboard. Некоторые из этих объектов — элементы интерфейса, которые являются частью представления, такие как кнопки и текстовое поле. И другие, такие как контроллеры представлений и распознование жестов, которые определяют поведение приложения и не видны на экране.

Чтобы добавить элемент в список дел вам нужно текстовое поле — элемент интерфейса, который позволяет пользователю вносить строки в текст.

Для добавления текстового поля на вашу сцену:

  1. Откройте бибилиотеку Объектов.

Библиотрека Объектов покажется внизу области утилиты. Если вы не видите Библиотеку, нажмите на третью кнопку слева на панели переключения библиотеки. (Ещё вы можете отобразить её, выбрав View > Utilities > Show Object Library .)

Посвившийся список отображает каждое имя объекта, описание и визуальное изображение.

2. В библиотеке Объектов напечатайте в поле фильтра text field , чтобы найти объекты Текстового Поля быстрее.

3. Перетащите объект Поле Текста из списка на вашу сцену.


Если необходимо вы можете увеличить изображение выбрав Editor > Canvas > Zoom .

4. Перетащите поле текста так, чтобы центр поля был посередине вертикальной направляющей и размещалось слева экрана.

Остановите перетаскивание, когда увидите что-то вроде этого:


Голубая направляющая помогает вам поместить текстовое поле. Она видна только когда вы перетаскиваете или изменяете размер объекта, направляющая исчезает когда вы отпускаете текстовое поле.

5. Если необходимо, нажмите на поле текста, чтобы выделить и изменить размеры.

Вы изменяете размеры UI элемента, перетаскивая метку изменения размера, которая выглядит как маленький белый квадрат, который появляется на рамке элемента. Вы делаете их видимыми, выделяя элемент. В этом случае поле текста уже должно быть выбрано, так как вы только что остановили перемещение объекта. Если ваше поле текста выглядит как на картинке, значит, оно готово к изменению его размера, если это не так, выделите его.


6. Изменяйте положение левого и правого краёв поля текста, пока не увидите три вертикальные направляющие.

Прекратите изменение размера, когда увидите что-то вроде этого:


Несмотря на то что у вас есть поле текста на вашей сцене, здесь нет указаний для пользователя о том, что вводить в это поле. Используйте текст заполнителя текстового поля в качестве подсказки пользователю что вводить в поле. Используйте заполнитель текстового поля чтобы подсказать пользователю ввести название элемента списка.

Для конфигурации заполнителя текстового поля:

Инспектор Атрибутов показывается когда вы выбираете четвёртую кнопку слева на панели переключения Инспекторов. Он позволяет вам редактировать свойства объекта в вашем storyboard.


2. В Инспектор Атрибутов найдите поле, обозначающее Заполнитель, и наберите New to-do item .

3. Для того чтобы новый заполнитель отобразился нажмите Ввод.

Предспросмотр Вашего Интерфейса

Периодически просматривайте ваше приложение, чтобы удостовериться в том, что всё выглядет именно так, как и ожидалось. Вы можете предварительно просмотреть интерфейс, используя assistant editor , который оттобразит второй редактор, рядом с основным.

Для предпросмотра вашего интерфейса нужно:

  1. Нажмитена кнопку Assistan t на панели инструментов Xcode, чтобы открыть assistant editor.


  1. На панели editor selector , переключите этот редактор из положения Автоматически в положение Предпросмотр.


3. Если вам нужно больше пространства для работы сверните навигатор проекта и вспомогательную область, нажав кнопки Navigator и Utilities на панели Xcode.


Ваше окно Xcode должно выглядеть вот так:


Как видите, текстовое поле выглядит неправильно. Оно заканчивается примерно на середине экрана. Определённый в storyboard интерфейс отображается правильно, так почему это происходит в предпросмотре?

Как вы узнали ранее вы теперь разрабатываете Приспосабливаемый интерфейс, который масштабируется в зависимости от размеров iPhone и iPad. Сцена, которую вы видите в storyboard по-умолчанию отображается как общая версия интерфейса. Здесь вам нужно указать как интерфейс должен подгоняться к разным устройствам. Например, когда интерфейс сжимается до размеров iPhone, и текстовое поле тоже должно сжаться. Когда интерфейс расширяется до размеров iPad, текстовое поле тоже должно расшириться. Вы може определить эти правила масштабирования интерфйса используя Авто расположение.

Добавление Авто Расположения

Авто Расположение — это мощный механизм расположения, который легко помогает разработать адаптивное расположение. Вы описываете желаемые условия для позиционирования элементов на сцене, и потом позволяете механизму расположения определять как лучше реализовать эти условия. Вы описываете условия, используя ограничения — правила, которые объясняют как один элемент должен быть расположен относительно другого, или какой размер у него должен быть, или кто из двух элементов должен сжаться первым когда что-то уменьшает пространство для каждого из элементов.

Для текстового поля в этом интерфейсе должно быть фиксированным размер пространства от верхнего края устройства и не зависимое от устройства растяжение горизонтального поля.

Для расположения текстового поля, используя Авто Расположение, необходимо:

  1. В вашем storyboard выберете текстовое поле.
  2. На рабочей области выбирете иконку Auto Layout Align .

3. Выбирете пункты «Horizontal Center in Container » и «Vertical Center in Container ».


4. Нажмите на кнопку Добавить два ограничителя.

5. На рабочей области выбирете иконку Auto Layout Pin .

6. Под «Spacing to nearest neighbor » выбирете два красных ограничителя, нажав на них.


Эти ограничения определяют расстояния до ближайшего соседнего представления спереди и сзади. В случае когда пункт «Constrain to margins » выбран, текстовое поле ограничивается относительно отступов представления.

7. Нажмите на кнопку Добавить два ограничителя.

Предпросмотр интерфейса обновится для отображения новых ограничителей:


Если вы не получаете того поведения, что ожидаете, используйте функцию Xcode по поиску ошибок в Автоматическом Расположении. С выбранным текстовым полем нажмите на иконку Resolve Auto Layout Issues и выбирете Reset для SuggestedConstraints для того, чтобы Xcode обновил интерфейс с действующими ограничениями, описанные выше. Или нажмите на иконку Resolve Auto Layout Issues и выбирете ClearConstraints для удаления всех ограничений в текстовом представлении и после попробуйте снова шаги, описанные выше.

Проверка: запустите ваше приложение на iOS Симуляторе, чтобы убедиться, в том, что созданная сцена выглядет так как ожиалось. У вас должно получится кликнуть внутри текстового поля и ввести строку, используя клавиатуру (если хотите, вы можете переключить клавиатуру, нажав Command-K). Если вы перевернёте устройство (Command-Левая Стрелка или Command-Правая стрелка) или запустите приложение на другом устройстве, текстовое поле должно расшириться или сжаться в зависимости от размера устройства и его ориентации.

Несмотря на то что ваша сцена добавления элемента пока не очень функциональна, но, базовый интерфейс есть и он функционирует. Рассмотрение разметки с самого начала руководства позволяет вам быть уверенным, что у вас твёрдый фундамент для надстройки.

Резюме

Теперь вы на правильном пути чтобы суметь создать базовый интерфейс используя storyboards. В оставшихся руководствах вы узнаете как добавить взаимодействие с вашим интерфейсом и напишите код для создания пользовательского поведения. Главы в промежутках между руководствами познакомят вас с концепциями, которые вы используете на практике, работая над вашим приложением.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: