Как разрабатывать приложения для ios. Как сделать приложение для iPhone

9 февраля 2015 в 17:54

Создание iOS приложения. От идеи до результата

  • Разработка под iOS
Все началось с того, что я огляделся по сторонам и, не увидев автомобиля своей мечты, решил сконструировать его сам
Фердинанд Порше

Привет, Хабр. Хочу рассказать, как создал свое первое iOS приложение и что из этого получилось.

Идея

Идея для приложения возникла сама собой: создай то, чем бы ты с удовольствием пользовался бы сам. Я постоянно пишу заметки. Ведь у каждого занятого человека существует определенный набор фактов, которые он получает в течение дня, и которые стоит запомнить. А так как все люди забывают (и это нормально!), то нет лучшего решения, чем просто записать. Я все время чувствовал какое-то неудобство при работе с представленными в AppStore приложениями-заметочниками. Излишняя сложность в управлении, наличие ненужных категорий, нагромождение дополнительной информации - все это мешает приложению выполнять его основную функцию. Плюс ко всему многие из этих вещей выглядят просто некрасиво.

Поэтому, поставив все ставки на простоту и удобство, я приступил к созданию концепции. Модель приложения с единым списком заметок. Все в одном месте, что может быть проще? Если что–то имеет большую ценность или актуальность, совсем не обязательно вешать на него ярлык, ведь достаточно просто переместить более важную заметку в топ списка. Старые и ненужные записи постепенно будут опускаться вниз и в последствии будут удалены пользователем.

Функционал

После того, как концепция была придумана, я выписал основной функционал - те вещи, на которые я хотел бы сделать акцент в управлении:

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

Инструментарий

Перед тем, как писать код в Xcode, я полностью воссоздал внешний вид приложения в векторном редакторе Sketch. Эта программа отлично подходит для быстрого создания макетов. Для этого приложения доступна масса плагинов, среди них есть Sketch Preview - просмотр артборда сразу на устройстве через программу Skala Preview. Всего лишь нужно скачать бесплатные программы Skala Preview на компьютер и мобильное устройство и установить плагин. После этого выбрать нужный артборд, нажать комбинацию Command+P и уже через секунду внешний вид приложения транслируется на устройство.

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

Разработка

В приложении я использовал всего два контроллера – один непосредственно для всех-всех-всех заметок, другой - для отображения небольшого туториала при первом запуске. Работу с базой данных я организовал с помощью фреймворка CoreData.

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

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

Анимации удаление и перемещения в топ я решил реализовать самостоятельно, а визуальное сопровождение максимально приблизить к реальной жизни. Что-то приобрело более высокий приоритет - свайп вправо и заметка перемещается в топ списка. Чтобы удалить - свайп влево и анимация зачеркивания покажет на сколько еще нужно продлить свайп чтоб завершить удаление. При случайном удалении - нужно просто потрясти устройство («Shake»), и заметка вернется на свое прежнее место.

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

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

Нейминг

Название приложения - самая важная часть при разработке, это первое что видит пользователь в магазине. На хабре есть по этому поводу. К подбору имени я решил подойти основательно: для начала я перебрал список 1000 самых популярных слов в английском языке и выписал всевозможные комбинации, которые подходили бы для названия мобильного приложения для заметок, к тому же хотелось уложиться в 8-10 символов. Но при этом не хотелось выбирать название SuperNotes или NotesPlus etc, хотелось чего-то нового. Мне понравилось сочетание mad note , на которое случайно наткнулся в Urban Dictionary:
mad note - excellent, entertaining, surprising, unexpected or awe-inspiring

Сразу же появился и слоган: MadNotes - Note your passion. Поскольку палитра основных цветов у меня уже была готова (белый, синий, красный), я решил сразу придумать подходящую иконку. Ситуация с логотипами для приложений подобного рода плачевная:

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

Результат

Поскольку изначально проект задумывался как дизайнерский, я решил поучаствовать с моим приложением в всеукраинском конкурсе Ukrainian Design Awards: The Very Best Of в категории Digital Design. До конкурса оставалось несколько недель, за это время я успел сделать публикацию на Behance, где визуально показал все основные функции приложения, а также записал видео-превью.
Поскольку победителей конкурса не разглашают до самого последнего момента, было невероятно приятно увидеть свою работу на выставке работ победителей - жюри увидели и оценили главную концепцию - минималистичное и, вместе с тем, функциональное приложение для ведения заметок.


Приложение находится в AppStore уже несколько месяцев, за это время я сделал шесть обновлений и переписал код на Swift. В последней версии (1.2) добавлена синхронизация с iCloud, так что заметки уже успели перебраться в облако.

Спасибо внимание.
Note your passion

Разработка приложений для мобильных устройств приносит неплохой доход. Программисты получают за это солидную зарплату, а компании-разработчики активно реализуют софт через магазин приложений AppStore, получая прибыль с каждой продажи. Написать свою программу легко и сложно одновременно. В некоторых случаях для этого нужно быть программистом, а в некоторых – обычным пользователем.

Создать мобильное приложение под iOS с нуля можно двумя способами:

  1. Написанием на языках Objective-C и Swift;
  2. Написанием с помощью визуальных редакторов и сервисов;
  3. С помощью дополнительных языков – это C++ и некоторые другие.

Последний вариант разработки создан для профи, которым тесно в рамках традиционной экосистемы.
Что касается языков Objective-C и Swift: в разработке приложения задействованы оба. Только Objective-C устарел, ведь он появился почти три десятка лет тому назад. На смену ему пришёл Swift, на котором создаётся современный софт, как платный, так и бесплатный. Также профессионалы используют в своих программах кодинг на C++, но это уже выходит за рамки статьи.

Основная среда для разработки приложений

Независимо от того, под какое устройство создаётся приложение, программисту потребуется среда разработки Xcode. Эта среда является универсальной – в ней делаются приложения для смартфонов, планшетов, компьютеров и прочих устройств от Apple. Скачивается она через магазин приложений Mac App Store, версии для Windows нет. Распространяется программа бесплатно, в ней уже присутствует эмулятор для тестирования софта.
Последняя версия среды была выпущена 27 марта 2017 года – номер версии 8.3. Также для обновлённого софта характерна поддержка новых функций и более быстрая работа.

  • Поддержка языка Swift 3;
  • Просмотр приложения на разных платформах;
  • Анализ производительности создаваемых программ;
  • Анализ использования системных ресурсов при выполнении программ;
  • Эмуляция различных устройств от Apple;
  • Встроенный редактор кода.

Каждая новая версия предоставляет всё новые возможности.

Пример разработки приложения

Данный пример показывает основы разработки программы «Hello World» - процесс создания прописан пошагово, что позволяет повторить его самостоятельно. Инструкция предусматривает использование объектно-ориентированного языка программирования Objective-C. Многие свои возможности он унаследовал от языка С, но в нём используется динамическая система типов данных, а не строго типизированная. Для более детального ознакомления рекомендуется поработать с книгой «Сила Objective-C 2.0. Эффективное программирование для iOS и OS X». Автор издания – Мэтт Гэлловей.
В мире программирования принято начинать изучение новых языков с программы «Hello, World». Она выведет на экран кнопку, при нажатии на которую на нём будет появляться и исчезать данная надпись. Для начала необходимо выбрать тип приложения:

  • Single View Application – заготовка для создания простейшего софта. Содержит компонент View Controller с конструктором форм Interface Builder;
  • Page-Based Application – основа для написания журналов и программ для чтения с поддержкой множества экранов;
  • Tabbed Application – основа для софта с несколькими переключаемыми экранами;
  • Master Detail Application – основа для софта с табличным отображением данных;
  • Game – основа для создания игровых приложений на основе фреймворков Metal, OpenGL ES, SceneKit и SpriteKit. Первый фреймворк применяется в требовательных играх, вторые два работают с трёхмерной графикой, а последний – с двухмерной.

Предусмотрены и ещё два типа – это Sticker Pack Application с изображениями для iMessage, а также iMessage Application для создания дополнений для iMessage или разработки приложений-аналогов.
Для «Hello, World» выбирается первый тип – это Single View Application. Выбираем его и задаём имя проекта, указываем язык Objective-C, в списке Devices выбираем пункт «Universal» (софт будет работать на iPad и iPhone), снимаем флажки Include Unit Tests и Include UI Tests и сохраняем проект.

Работа с текстом и кнопкой

На следующем этапе делаем интерфейс программы – разворачиваем меню ShowLab и выбираем пункт Main.storyboard, после чего откроется окно с макетом устройства (Interface Builder). В панели компонентов выбираем два компонента – это Button (кнопка) и Label (надпись). Разворачиваем список свойств, нажав на Show the Attributes Inspector, и настраиваем компонент Label – выбираем свойство Text, в выпадающем списке выбираем пункт Plain и вводим будущую надпись «Hello World». При необходимости меняем границы надписи и центруем её по горизонтали через Size Inspector – открываем панель и выбираем в выпадающем списке Arrange пункт «Center Horizontally in Container». Здесь необходимо поменять его свойство с Text на Switch.

Работа с кодом

Следующий пункт – необходимо создать связь между кодом и используемыми в приложении элементами. Последовательность действий:

  • Открываем содержимое файла ViewController.h двойным щелчком в отдельном окне;
  • Берём компонент с нашим текстом мышью, с зажатой клавишей Ctrl, и отпускаем внутри вышеуказанного окна;
  • В открывшемся окне Outlet’а необходимо ввести имя объекта (например, lab) и указать тип UILabel;
  • В списке Storage выбираем тип ссылки на объект weal и нажимаем Connect – в код ставится строка «@property (weak, nonatomic) IBOutlet UILabel *lab;» (без кавычек);
  • Проделываем аналогичные действия для компонента с кнопкой, но даём Outlet’у имя but;
  • Открываем файл реализации ViewController.m, берём компонент с кнопкой мышью, с зажатой клавишей Ctrl, отпускаем в окно с файлом до закрывающей скобки @end;
  • В открывшемся окошке указываем имя обработчика события (например, Click), в поле Type ставим значение id;
  • Открываем в этом же окне выпадающий список Event, выбираем пункт Touch Up Inside – это действие при отпускании пальца;
  • В списке Arguments выставляем значение Sender;
  • Нажимаем кнопку Connect.

В окне с кодом появится строка с фигурными скобками, между которыми необходимо вписать код «_lab.hidden = !_lab.hidden;». В итоге у нас должно получиться – «(IBAction)onClick:(id)sender { «_lab.hidden = !_lab.hidden;}» (без кавычек). Теперь остаётся лишь запустить наше первое приложение в эмуляторе.
Приложение обладает простым интерфейсом, в нём всего два элемента – кнопка и текстовое поле. При нажатии на кнопку в текстовом поле появляется надпись «Hello, World». Нажимаем ещё раз – и она исчезает.
Может показаться, что мы создавали приложение слишком долго. Если удастся сделать хотя бы простейший софт, это станет стимулом к дальнейшему изучению программирования под iOS.

Язык Swift


Если вам кажется, что процесс создания программ под iOS слишком сложный, попробуйте познакомиться с языком Swift. Его основные преимущества:
  1. Swift более лёгкий, чем Objective-C;
  2. Swift почти в три раза более быстрый;
  3. Swift более удобный в разработке программ.

Написанное приложение можно продавать через App Store. Также возможно бесплатное распространение. Независимо от способа распространения своих приложений, вы должны приобрести специальную лицензию.

Сервисы для создания приложений под iOS

Человеку, малознакомому с программированием, будет сложно сделать собственную программу. На изучение языков программирования уйдёт уйма времени. Чтобы создать приложение под iOS максимально быстро, можно воспользоваться специальными конструкторами. Рассмотрим их более подробно.


Это мощный инструмент, не требующий знания основ программирования. Вместо полной разработки здесь применяются шаблоны программ – это магазины, каталоги товаров, мультимедийный софт, медицинский софт, шаблоны для ресторанов, фитнесс-клубов и даже церквей. Итого более 1000 шаблонов, чтобы облегчить процесс разработки. И многие из них предоставляются абсолютно бесплатно.
Неоспоримым плюсом сервиса является то, что он позволяет компоновать программы не только по iOS, но и под Android. Минусом является необходимость платить деньги за размещение. Минимальный тарифный план – 2400 руб./мес. Тариф включает в себя 500 установок. Для корпоративных клиентов предусмотрен тариф на 10 приложений и безлимитное количество установок.
На сервисе работает понятный русскоязычный интерфейс, поэтому сложностей с ним не возникнет.

Сервис Apps Globus


Перед нами ещё один конструктор, позволяющий создать приложение под iOS без знаний в области программирования. Здесь работает мощный фреймворк с приличным функционалом, позволяющий создавать программы высокого уровня сложности. На выбор пользователей представлено множество шаблонов – можно работать с графикой, публиковать купоны с QR-кодами, создавать бизнес-софт для такси, разрабатывать софт для гостиниц и ресторанов.
Минимальный тариф под iOS – 6000 в год. Администрация конструктора самостоятельно публикует созданные приложения в App Store. Также здесь возможно конструирование софта под Android.
Интересная возможность – аккаунт реселлера для разработчиков, позволяющий запустить собственный бизнес по разработке софта для собственных клиентов.

Конструктор App2b

Здесь разрабатываются интернет-магазины, каталоги товаров, онлайн-журналы и многое другое. Пользователей ждёт множество готовых шаблонов, настраиваемых под свой вкус. Ваш софт сможет работать с графикой, мультимедийными файлами, push-уведомлениями, навигацией, социальными сетями и многим другим. Запускайте фотогаллереи, онлайн-витрины, каталоги музыки и прочий софт буквально в несколько нажатий мышью.
Основная ориентация сервиса – на бизнес-софт. Разработка здесь бесплатная, но нужно оплатить доступ к конструктору, техподдержку, доступ к статистике и размещение программ в App Store. Стоимость одного приложения – 9990 рублей.


Довольно простой конструктор, на их разработку уйдёт минимум времени – больше займёт подготовка контента. Сервис работает бесплатно, деньги за него платить не нужно. Для того чтобы приступить к разработке, необходимо скачать десктопную утилиту на компьютер (под Windows). Устанавливаем софт, открываем его и приступаем к работе – используя готовые модули и бесплатные шаблоны вы сможете быстро соорудить нужную вам программку.

AppsMakerStore

Если нужен реально красивый и функциональный софт, обратите своё внимание на конструктор AppsMakerStore. Это мощный бизнес-инструмент, позволяющий создавать приложения для бизнеса, причём своими руками – без помощи третьих лиц. На выбор пользователей представлено множество шаблонов:

  • Для ресторанов и кафе – с возможностью оформления заказов, бронирования столов или организации программ лояльности;
  • Для торговли – поддерживаются push-уведомления, присутствует каталог товаров с возможностью покупки в режиме онлайн, есть функции организация мероприятий;
  • Для косметических салонов – организация бронирования и записи, галерея работ, отзывы клиентов, подарочные сертификаты;
  • Для радио – организация трансляций на весь мир, публикация полезной информации и новостей;
  • Для событий и мероприятий – шаблон для ивент-агентств и организаторов. Мощный функционал с геолокацией и уведомлениями;
  • Для госслужб – запускайте календари событий, публикуйте защищённую информацию;
  • Для отелей, пансионатов, гостевых домов – функции бронирования, заказ дополнительных услуг и многое другое, что необходимо в гостиничном бизнесе.

Таким образом, здесь разработчиков ждёт внушительный функционал по разработке программ различного назначения.
Команда сервиса поможет опубликовать ваше приложение в App Store без сложных действий с вашей стороны – вам остаётся только создать софт.

В чём лучше разрабатывать приложения

Ответить на этот вопрос довольно сложно. Поэтому мы составили сравнительную таблицу:

Сервис Плюсы Минусы
iBuildApp Много шаблонов для приложений, русскоязычный интерфейс, круглосуточная поддержка Нужно платить деньги за разработку, причём немаленькие
Apps Globus Поддержка русского языка, доступные цены на публикацию и поддержку программ, множество инструментов для разработки софта, гибкость конструктора, доступ к аналитике, предоставление исходных кодов Мало доступных шаблонов
App2b Множество инструментов для разработки – от простых страниц до интернет магазинов, собственный хостинг, инструменты для продвижения приложений Не самый информативный сайт, для получения подробной информации по разработке необходимо позвонить по контактному телефону
New Digital Times Не нужно платить деньги, возможность разработки приложения через веб-интерфейс или приложение для компьютера. Можно создать магазин, журнал, есть хостинг для данных Мало модулей, многие из них придётся заказывать у программистов сервиса
AppsMakerStore Гигантское количество профессиональных отточенных шаблонов позволит создать продукт любого уровня сложности. Множество дополнительных модулей. Поддержка множества платформ. Трудно понять ценовую политику

Создать приложение с помощью сервисов очень просто – разработка не займёт у вас много времени. Все действия здесь производятся в визуальных редакторах, результаты можно посмотреть без публикации в App Store. Также почти все сервисы поддерживают софт под Android – вы сможете охватить сразу две мобильные платформы. Такая возможность актуальна для тех, кто занимается бизнесом и продвигает его в интернет-среде.
Но в конструкторах возможно создание далеко не любых программ. Кстати, мобильные игры создать с помощью конструкторов не удастся. Поэтому изучение языков программирования откроет перед вами широчайшие возможности по работе с софтом для продукции Apple.

Нил Фергюсон, разработчик Virus Strike считает, что любой человек может создать игру, в том числе и игру для iPhone. Он сам разработал аппликацию на iOS с нулевым бюджетом, не имея никакой практики программирования для айфонов. Это непросто, но создание будет успешным, если у Вас есть необходимые навыки.

Конечно, Нил – специалист со стажем и его опыт помог сделать Virus Strike, но он считает, чтобы благополучно справиться с заданием, не обязательно быть компьютерщиком. Достаточно просто следовать следующим советам.

1. Качественная идея и правильные инструменты

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

Если Вы не являетесь опытным программистом, специально для Вас существуют специальные виртуальные библиотеки (например, GameSalad), позволяющие создать задумку без знаний программирования и специально разработанные для iOS.

Кроме того, Вы обнаружите, что разработка флэш намного легче, чем изучение Objective C (стандартный язык «яблочной» платформы). Для поклонников флэш-аппликаций представлено множество инструкций для новичков.

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

2. Специфические особенности iOS и продуманная концепция

Наиболее успешные iOS развлечения в AppStore – те, которые предназначены специально для iPhone и используют его особенности (например, сенсорный экран, акселерометр и т.п). Чтобы создать успешную игру или несколько игр, учтите, какие уникальные элементы управления айфона могут сыграть решающую роль в Вашем приложении. Делайте ставку на оригинальность!

Кроме конкретизации основной механики (линейный рисунок, соответствие цветов и движок), следующим важным шагом является структурирование задуманной концепции в сложную, но доступную схему.

Важно иметь представление о продолжительности и сложности каждого этапа забавы. Они должны получиться непростыми, но в то же время справедливыми – участники должны чувствовать прогресс, иначе они потеряют интерес. Хорошо оправдывают себя некие виртуальные вознаграждения за каждый пройденный тур.

3. Звуковые эффекты

Существует множество ресурсов (например, freesound.org), где Вы можете подобрать звуковые эффекты. Этот процесс довольно утомительный и лучше будет, если Вы поинтересуетесь мнением окружающих, поскольку субъективно можете подобрать раздражающие звуки. Для редактирования звукового сопровождения существуют бесплатные программы типа Audacity.

4. Бесплатные мануалы и аутсорсинг

Virus Strike – был первой пробой Фергюсона для iOS, до этого он никогда не сталкивался с Objective C. Очень сильно помогли онлайн-уроки, а также множество полезных мануалов. Создавая игру, вы также можете воспользоваться подобными ресурсами, например такими как developer.apple.com.


Если, собственно, вы лично не являетесь программистом, можно поручить основную разработку кому-то более опытному. Можно создать заказ на бирже фрилансеров или обратиться к фирме, предлагающей аутсорсинг. Главное помните, что детально описанный ожидаемый результат, повысит вероятность получить желаемое.

5. Видео, маркетинговая стратегия и отзывы

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

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

Подготовьте качественный пресс-релиз (можно сделать самостоятельно или нанять копирайтера, разбирающегося в теме) и поместите его на популярных порталах. Даже если Вам придется заплатить за публикацию, такие расходы быстро окупятся, поскольку большие сервисы являются источником информации для сотен других ресурсов, перепечатывающих оттуда статьи (часто в полном объеме). Таким нехитрым образом, Вы получите неплохую рекламу.

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

Создание приложения для iPhone можно описывать сотнями книг по программированию на C++ или Objective C. Это не инструкция, а пошаговый список действий, которые вам нужно будет предпринять, чтобы создать свое первое приложение для iOS.

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

2. Обязательно сделайте себе Apple ID. Учтите, если вы будете в будущем публиковать приложение от своего имени, а не от юридического лица, но в качестве разработчика будет ваше имя и фамилия. Можете пойти на хитрость и написать вместо них название компании, например: Pupkin Development, но никто вам не гарантирует, что спустя какое-то время не наступят последствия.

3. Регистрация в сообществе разработчиков. Для этого вам придется потратить 100$ (такова минимальная цена абонемента на год) и зарегистрировать аккаунт в Apple Developer Connection.

4. Установка SDK. Программный комплект разработчика (software development kit) позволяет разрабатывать непосредственно сами приложения для iPhone или iPad. В нем содержится стандартный набор для начала разработки. SDK включает в себя XCode и iPhone Simulator. Первое ПО служит для написания кода, а второе - для его тестирования в реальном времени. Программы запускаются из папки Applications. Если вы доверили разработку студии, то просто ждите и корректируйте их работу своими мастерскими советами.

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

6. Теперь вам надо зарегистрироваться еще в iTunes Connect, через который будет идти непосредственное размещение приложения в App Store. Это займет считанные секунды так как будут использоваться данные с вашего профиля Apple ID.

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

8. Приложение надо хорошенько тестировать прежде, чем отправлять на рецензию в Apple. Вы можете посмотреть, как работает ваша программа в iPhone Simulator из пакета SDK либо через приложение TestFlight .

9. Отправляйте приложение на утверждение. Проверка проводится вручную, потому ждать придется от 1 недели и до месяца (особенно если на носу какие-то праздники). Самое обидное, что если приложение завернут из-за какой-то помарки, которую вы исправите за минуту, то ожидать новой рецензии придется столько же.

10. Когда появится долгожданный зеленый свет от Apple все уже будет только в ваших руках. Определитесь с ценой (только помните, что внутренние покупки в приложении — это тот еще геморрой), рекламной кампанией и результатами, которых хотите добиться. Но продвижение в App Store — это уже тема для другой статьи.

Давайте, для начала, разберемся с актуальностью разработки под Apple устройства в целом. Ведь на сегодняшний день в App Store находится более 2 миллионов приложений.

Каждое приложение и его обновление должно проходить через строгую модерацию. Все приложения в магазине обновляются с периодичностью в 1 месяц.

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

Разработка приложений для iOS, либо как полюбить Apple еще сильнее

Заработная плата iOS разработчиков варьируется от 60 000 до 250 000 рублей. Актуальность разработки под iOS неоспорима.

В рамках этой статьи мы создадим приложение, где выведем сообщение “Hello World” на главном экране и не напишем ни строчки кода.

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

  1. Устройство с MacOS на борту
  2. Скачанный Xcode

Голова нам, как видите, не потребуется. Да, компания Apple приложила максимум усилий, чтобы как можно сильнее упростить процесс и сократить время разработки мобильных приложений под их платформы, такие как: iOS, tvOS, macOS, watchOS. Также Apple представила в 2014 году язык программирования Swift, который очень прост для начинающих разработчиков и очень функциональный для профессионалов. Если вы сможете создать приложение для одной платформы Apple, к примеру для iOS, то вам не составит труда создать приложение и под другие платформы. Все унифицировано до такой степени, что вы можете использовать чуть ли не один и тот же код, запуская его на разных типах устройств.

Поехали!

СОЗДАНИЕ ПРОЕКТА

И так, как говорилось ранее, нам потребуется компьютер Apple , и установленное приложение Xcode , которое находится в App Store в свободном доступе.

Давайте разберемся, что такое Xcode и зачем он нам нужен.
Xcode — это программная среда разработки, которая включает в себя: редактор кода, редактор графических интерфейсов, систему контроля версий и инструменты для отладки и выкладки, написанных нами приложений. Одним словом, это программа, в которой ведется 90% всех взаимодействий в разработке приложений под семейство операционных систем Apple .

И так, запустив программную среду разработки мы видим приветственное окно, где мы можем открыть, создать или клонировать проект. Нам нужно создать новый, нажав на “Create a new Xcode project” . Да, весь интерфейс Xcode на английском языке, поэтому советую запастись англо-русским словарем.


Следующим шагом мы видим данное окно:

где нам предлагают выбрать платформу и тип приложения. Нам нужно программное обеспечение iOS (в верхней части диалогового окна) и Single View App. Любые приложения начинаются с Single View, а потом разрастаются до 50 View App.

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


Давайте по-порядку:


Заполнив информацию, нажимаем Next , и выбираем местонахождение проекта на нашем компьютере и жмем Create

ОБЗОР СРЕДЫ РАЗРАБОТКИ

У нас открывается наше основное рабочее пространство и давайте разберемся, что у нас тут есть. Разделим все приложение на несколько частей: вверху, слева, справа, внизу и посередине.



В верхней части рабочего пространства вы видим кнопки запуска или остановки приложения, поле настройки запуска, которое состоит из двух частей: что запускаем, на чем запускаем.

Также мы видим строку состояния, в которой можно наблюдать текущую задачу, которую выполняет среда разработки, правее мы можем увидеть настройки вида редактора: стандартный редактор , редактор с ассистентом и просмотр изменений в системе контроля версий, а также есть кнопки, чтобы показать/скрыть части среды, которые мы будем рассматривать далее: снизу (отладочная информация) , справа (навигация) и слева (утилиты)

Слева мы видим несколько кнопок, которые будут переключать функционал левой панели, а именно:

  1. Навигация по файлам и папкам
  2. Система контроля версий
  3. Иерархия классов в проекте
  4. Поиск по проекту
  5. Уведомления о предупреждениях и ошибках при сборке
  6. Автоматизированные тесты
  7. Отладка
  8. Точки останова
  9. Логи сборок

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

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

И в основной (центральной) части среды мы можем наблюдать редактор, в котором пишется код и ведется работа над пользовательским интерфейсом приложения.

И в основной (центральной) части среды мы можем наблюдать редактор, в котором пишется код и ведется работа над пользовательским интерфейсом приложения.

  1. Identity
    1. Display Name — имя приложения, которое будет выводиться на домашнем экране устройства
    2. Bundle ID — Уникальный идентификатор, который будет использоваться в App Store
    3. Version -текущая версия проекта, которая ведется используя семантическое версионирование
    4. Build — Номер сборки, который стоит увеличивать на единицу с каждой установкой приложения на устройство
  2. Signing
    1. Automatically manage signing — автоматическое управление подписью приложения
    2. Team — наименование вашей команды
    3. Provisioning profile — профиль, для подписи приложения
    4. Signing Certificate — сертификат, который позволяет подписывать приложение в Apple
  3. Deployment Info
    1. Deployment Target — минимальная версия iOS, на которую может быть установлено приложение
    2. Devices — Типы устройств
      • iPhone
      • Универсальное
    3. Main Interface — Storyboard файл, с которого будет начинаться приложение после
    4. Device Orientation — Возможные ориентации устройства при работе с приложением
      • Портретное
      • Вверх ногами
      • Альбомный против часовой
      • Альбомный по часовой
    5. Status Bar Style — Цвет статус бара (верхняя панель информации со временем, оператором и батареей)
      • Светлый
      • Темный
      • Скрыть
  4. App Icons and Launch Images
    1. App Icons Source — иконка приложения
    2. Launch Screen File — экран, который показывается пока приложение запускается

Остальные пункты нам пока не потребуются.

Теперь, когда мы разобрались с тем, из чего состоит наша среда разработки, можно приступить к созданию нашего “Hello World” приложения.

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

СОЗДАНИЕ ПРИЛОЖЕНИЯ

Первым делом, нам нужно найти файл интерфейса, который называется Main.storyboard . Его можно найти слева в панели навигации.

Открыв файл, мы видим экран приложения. Теперь нам нужно перетащить элемент под названием Label на этот экран. Этот элемент находится слева внизу.
Перетаскиваем его на экран в любое место. Затем в панели утилит, ищем поле, в котором написано “Label” .
И изменяем Label на Hello World . После этого, мы увидим, что наш элемент на экране не показывает полностью нашего текста, который мы вписали, так как у него был текст изначально меньше, и он принял его размеры.

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


Здесь мы видим некоторые параметры расположения нашего элемента. Нам требуются два последних параметра. Активируем их и нажимаем “Add 2 Constraints”. После этого, мы можем наблюдать, как наш элемент зафиксировался посередине экрана и принял форму, в которой отображается наш текст полностью.

СБОРКА И ЗАПУСК

Теперь, нам нужно запустить наше приложение на устройстве, и посмотреть, все ли верно будет отображаться. Для этого, мы нажимаем вверху на выбор назначения запуска приложения и видим выпадающий список:
В этом списке мы видим устройства и симуляторы устройств, на которых мы можем запустить наше приложение. Выбираем любое и жмем Run . Начнется сборка приложения и Xcode покажет нам задачи, которые он выполняет в данный момент времени:
После успешной сборки проекта, мы увидим, что Xcode перейдет в режим ожидания запуска приложения и появится окно симулятора, которое будет загружаться. После того, как симулятор загрузится, мы сможем наблюдать наше приложение на устройстве