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

© © ВИКА ШИБАЕВА / ЦЕХ
Научиться мобильной разработке не так трудно: главное — знать, с чего начать. Ильдар Гильфанов, iOS Teamlead e-legion и эксперт курса «iOS-разработчик» онлайн-университета «Нетология» считает, что разбираться во всех символах кода и языках разработки лучше сразу на практике. Специально для «Цеха» он подготовил пошаговый план действий по изучению разработки на iOS и созданию своего первого приложения.
Купите мак
Не хочется начинать с плохих новостей, но разрабатывать приложения под iOS (как и под другие яблочные ОС) можно только на macOS. Но не спешите ставить крест на карьере iOS-разработчика из-за дорогой техники Apple. Если вы только учитесь, рассмотрите варианты с виртуалками или хакинтошем. Инструкцию по применению можно легко найти в любой поисковой системе.
При покупке б/у техники проверьте совместимость версий macOS и среды разработки Xcode. Если вы не уверены, что мак получит ещё пару новых версий ОС, лучше воздержаться от такой покупки.
Три рекомендации при выборе мак:
- 8 Гб оперативной памяти (в некоторых маках её можно менять);
- SSD (его тоже можно поставить позже, заменив HDD);
- 4 ядра (их поменять нельзя, поэтому постарайтесь взять хотя бы 4).
Изучите Swift
Итак, мак у вас есть, и вы уже, наверное, хотите покорять рейтинги App Store, но сначала нужно освоить инструменты, с которыми вы будете работать. Самый важный — это, конечно, язык программирования Swift.
Swift очень дружелюбен к начинающим. Вы в этом убедитесь, написав свою первую программу — Hello World. Это простейшее приложение, которое создают все новички в разработке на первом уроке, оно выводит окно с вашим именем и приветствием. Его можно написать даже, если вы еще не знаете всех инструментов языка.

Благодаря Swift playground в среде разработки Xcode можно начать писать код, не разбираясь в самой среде разработки и особенностях системы, а ещё — на iPad есть приложение Swift Playgrounds. Это настоящий редактор кода, в котором можно разрабатывать небольшие приложения, игры и изучать Swift в интерактивном учебнике.

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

Для начала сосредоточьтесь на изучении UIKit — это фреймворк для создания интерфейса iOS-приложения. Кнопки, текстовые поля, лейблы, списки, анимации, окна, жесты, drag-and-drop — всё это и многое другое входит в UIKit.
Для создания интерфейса приложения в Xcode есть графический редактор. Он позволяет легко добавлять нужные элементы на экран и задавать правила их построения. Им пользуются не только начинающие, но и профессиональные разработчики. Так что не тратьте время на вёрстку в коде.
Foundation — второй по важности системный фреймворк. С его помощью вы будете работать с датами, ресурсами, файловой системой, данными пользователя и сетью. Часть его обязанностей забрала на себя Swift Standard Library. Например, строки и коллекции. Но Foundation всё равно остается важным компонентом системы.
Планирование
Во время изучения системных фреймворков вы можете начать работу над собственным приложением. Возможно, это будет просто to-do лист. Или у вас на телефоне есть очень полезное приложение, но оно чем-то не устраивает, и вы хотите сделать своё. А может у вас есть супер идея для совершенно нового приложения. В любом случае, для начала вам нужно определиться с тем, что будете делать:
- Проанализируйте похожие приложения в App Store. Это поможет понять, чего не хватает пользователям ваших конкурентов.
- Составьте список функций своего приложения. Запишите все свои идеи, чтобы не забыть.
- Выберите из них несколько самых важных. Это будет ваш объём работы на первый релиз.
Важными являются базовые функции приложения. То есть те, без которых оно не имело бы смысла. Приложение, состоящее только из таких функций, называется MVP (Minimum Viable Product). Постарайтесь также добавить в список несколько функций, которые отличали бы ваше приложение от конкурентов и представляли бы для пользователя особую ценность.
Пора переходить к дизайну. Начните с карандашных набросков, а если хотите создать несколько настоящих макетов, не обязательно осваивать сложные приложения. Можно ограничиться даже Keynote.
Конечно, вы не сможете заменить профессионального аналитика, маркетолога и дизайнера, но если вы работаете в одиночку, вам придётся самостоятельно выполнить эти шаги. Очень важно определить и зафиксировать объём работы. Ведь любая цель должна быть конкретной и достижимой. Иначе вы рискуете никогда не закончить своё приложение.
Разработка

Постарайтесь заранее подумать над тем, что и как у вас будет реализовано в коде. Конечно, не имея опыта, сложно продумать архитектуру приложения. Вот несколько советов, которые могут вам с этим помочь.
- Изучайте чужой код. В интернете есть огромное количество статей с примерами хорошего кода, а на Github можно найти исходный код целых приложений.
- Научитесь находить ответы на вопросы в интернете. Поисковик, Stack Overflow, документация, обучающие статьи и инструкции — в них вы найдете ответы на большую часть своих вопросов.
- Найдите человека или сообщество, чтобы задавать вопросы, на которые найти ответ не получилось. И если вы хотите получить хорошие ответы, научитесь задавать правильные вопросы — подробные.
Пора открывать Xcode и приступать к работе. Возможно, вы начнете с экрана авторизации или с основного экрана, а может быть, с создания общей архитектуры приложения. В любом случае, сохраняйте порядок с самого начала проекта:
- группируйте файлы по папкам;
- удаляйте неиспользуемый код;
- придерживайтесь своего кодстайла;
- не дублируйте код;
- не допускайте разрастания вью контроллера (MVC не заставляет писать весь код в контроллере).
Вам придётся взять на себя и обязанности тестировщика. Обязательно проверяйте всё, что делаете. Если что-то может пойти не так, оно пойдет не так. Поэтому проверяйте все сценарии, а не только позитивные. Полезно дать своё приложение другому человеку. Это позволит найти ошибки не только в реализации, но и в самой концепции приложения.
Выкладка в App Store
Ещё одно препятствие для независимых разработчиков — это необходимость платить $100 за возможность выложить своё приложение в App Store. О том, как зарегистрироваться, в интернете информации много, ее найти легко.

После регистрации аккаунта можно переходить к публикации. Для этого нужно выбрать в Xcode меню Product->Archive. После архивации — нажать кнопку Distribute App и дождаться выгрузки.

Приложение попадает в App Store Connect. На этом сайте вам нужно заполнить информацию о приложении, добавить скриншоты и информацию для ревьюверов Apple. Да, ревью проходить обязательно. Ознакомиться с правилами можно тут. Отчасти это рулетка, но если следовать всем пунктам, то вероятность успешного ревью сильно увеличивается. Для начала изучите основные причины для отказа. Приложение должно:
- Стабильно работать и не вылетать.
- Иметь рабочую ссылку на пользовательское соглашение.
- Быть полностью законченным, работоспособным и функциональным.
- Давать четкие объяснения при запросе разрешений на GPS, камеру, контакты и так далее.
- Иметь скриншоты и полное описание в магазине (их отсутствие — одна из самых распространённых причин для отказа).
- Быть уникальным. Нельзя выкладывать копию другого приложения (в том числе своего собственного).
- Не использовать приватное API.
Обязательно нужно указать тестовый аккаунт для ревьюверов в специальном поле, если в приложении есть авторизация. Если приложение содержит встроенные покупки, то стоит уделить особое внимание к требованиям разделе 3.1.
Если вам отказали, постарайтесь разобраться, в чём причина, и исправьте нарушения. Можно попытаться оспорить решение, но это не всегда удаётся. Если не получится, попробуйте созвониться с ревьюверами и обсудить проблему голосом.
Дальнейшее развитие приложения
Поздравляем! Ваше первое приложение уже в магазине, а вы с надеждой смотрите на счётчик скачиваний. Но работа ещё не окончена. Дальше вам предстоит развивать и поддерживать своё приложение.

После того, как вы разберетесь с основами, переходите к изучению других технологий. GPS, push-уведомления, Apple Pay, Siri, AR, информационная безопасность, работа с медиа и огромное количество third party-сервисов и фреймворков — изучая и используя в работе что-то новое, вы повышаете свою ценность на рынке. Поэтому, если вы хотите быть хорошим разработчиком, никогда не останавливайтесь на достигнутом.
Подводя итог
В статье мы постарались отразить самые базовые вопросы мобильной разработки на платформе iOS и этапы создания простого приложения. Способов дальнейшего погружения в тему есть очень много. Вы можете самостоятельно читать профильную литературу и смотреть обучающие ролики на Youtube, там их легко найти. Можете смотреть вебинары или лекции с преподавателями, которые также наглядно показывают, что такое мобильная разработка.
Мы также предлагаем обратить внимание на дополнительные онлайн- и офлайн-курсы, которые дают готовый план обучения, структурированную информацию и дополнительную мотивацию не забросить обучение. Подходящих курсов сейчас на рынке представлено достаточно много, и если этот вариант кажется вам наиболее подходящим, смело изучайте образовательные программы. Хорошая программа должна предусматривать:
- Знакомство с языком программирования Swift.
- Изучение фреймворков для создания пользовательских интерфейсов, работы с сетью, многопоточности и хранения данных.
- Освоение среды разработки, методов поиска ошибок и тестирования.
- Практические задания.
- Возможность задать вопрос преподавателю и пообщаться с однокурсниками.
Если все эти пункты есть в выбранном вами курсе, значит результат не заставит себя ждать, и вы напишите не одно свое мобильное приложение.
Что нужно для публикации iOS-приложения в App Store
После разработки мобильного приложения наступает момент, когда необходимо разместить его в магазине (сторе) для общего доступа. Для этого необходимо обзавестись специальным аккаунтом разработчика и подготовить определенный перечень маркетинговых материалов, удовлетворяющих различным требованиям. На такой случай хорошо было бы иметь под рукой инструкцию-чеклист, чтобы ничего не забыть перед публикацией приложения.
Тема текущей статьи — публикация iOS-приложений в App Store. Эта инструкция может быть полезна как заказчикам мобильных iOS-приложений, чтобы понимать какие материалы необходимо подготовить для публикации, так и разработчикам или менеджерам проектов, чтобы перестать носить данную информацию в голове, а просто воспользоваться «шпаргалкой».
Итак, что же нужно сделать в ходе публикации приложения:
- создать аккаунт разработчика в App Store;
- подготовить маркетинговые материалы;
- приложить к сборке сертификат цифровой подписи;
- настроить оплату за пользование приложения;
- отправить сборку в App Store.
Давайте разберем каждый пункт более подробно.
Создание аккаунта разработчика в App Store
Чтобы опубликовать приложение в App Store, нужен Apple ID, который можно создать перейдя по этой ссылке и заполнив необходимую информацию. Также можно использовать уже существующий Apple ID. Затем, с помощью этого Apple ID, можно войти на сайт iOS Dev Center и продолжить создание аккаунта разработчика Apple. После заполнения всех необходимых полей начнётся процедура регистрации аккаунта как разработчика, которая стоит 99$ в год. В зависимости от типа аккаунта, ожидание подтверждения займёт от нескольких дней (если для регистрации используется физическое лицо) до нескольких недель (юридическое лицо).
Подготовка маркетинговых материалов
Требования к маркетинговым материалам:
- требования App Store: описаны чётко и меняются редко, изучить их можно здесь;
- требования, которые возникают из задач проекта: что более актуально для целевой аудитории этого приложения, какой маркетинговый план у проекта и т.д.
Для срочных релизов или проверки MVP допускается сделать маркетинговые материалы, соответствующие требованиям магазина. В других проектах необходимо сделать так, чтобы маркетинговые материалы были максимальным вкладом в успех проекта.
Название
Название приложения будет отображаться в App Store. Его длина не может превышать 30 символов. Если в приложении есть локализации, необходимо проверить длину названия на каждом языке.
Подзаголовок (опционально)
Краткое описание приложения, которое появится под его названием в App Store для iOS 11 или новее и в Mac App Store для macOS Mojave или новее. Максимальная длина подзаголовка — 30 символов. Наличие подзаголовка не является обязательным для публикации приложения.
Описание
Описание приложения, раскрывающее его функции и возможности.
Требования App Store к тексту:
- описывайте приложение детально, с вниманием к функциональностям. Максимальный объём — 4000 символов;
- при использовании названия App Store в заголовках или тексте всегда набирайте App Store с прописными A и S;
- всегда оставляйте название App Store на английском;
- перед App Store можно использовать только артикль the;
- не используйте дополнительные слова в названии, например сочетания iTunes App Store, Apple App Store или iPhone App Store;
- не применяйте превосходные степени прилагательных («лучший App Store»);
- не используйте предлог «на» перед App Store. Правильно — «в App Store» («приложение доступно в App Store») или «из App Store» («запустите приложение из App Store»);
- не используйте термин «загружаемое»;
- в отношении Apple TV будет правильно сказать «Ищите наше приложение в App Store»;
- не применяйте для устройств Apple такие общие термины, как «смартфоны» или «планшеты», а используйте их названия;
- не упоминайте никаких форм спонсорства или поддержке со стороны Apple;
- не имитируйте типографический стиль Apple, используя шрифт Myriad в своих текстах;
- в описании не должно упоминаться названий других мобильных платформ;
- описание должно соответствовать функциональности приложения;
- названия приложения в iTunes и на рабочем столе устройства должны похожими;
- описание должно иметь рейтинг 4+ (можно показывать четырёхлетним детям).

Иконка
Иконка идентифицирует приложение в App Store и будет использована в случае фичеринга.
Требования App Store к иконке приложения:
- разрешение 1024 x 1024 пикселей;
- не более 72 точек на дюйм;
- схема формирования цвета – RGB;
- формат JPEG или PNG;
- без закругленных краев.
Скриншоты
Перед подготовкой скриншотов приложения, необходимо определиться с рекламной концепцией, от которой будет зависеть формат подачи визуального контента.
- «Строгая». Берутся основные экраны, которые показывают функциональность приложения.
- «Рекламная». Красивый фон за экраном, говорящие надписи. Потребуется помощь дизайнера.
Основная цель скриншотов — дать пользователю понимание, о чём мобильное приложение. Поэтому первый скриншот должен быть максимально информативным и привлекательным. Остальные скриншоты показывают различные функциональности приложения.
Скриншоты можно подписывать — это напрямую влияет на количество установок приложения. Оформление надписей на скриншотах может быть самым разнообразным — нет ограничений по расположению текста.
Требования App Store к скриншотам:
- в App Store можно загрузить до пяти скриншотов на каждое разрешение экрана, минимум один на каждую локализацию. Если приложение выглядит одинаково для всех разрешений и локализаций, то для iPhone будет достаточно использовать один набор скриншотов для 5,5-дюймового дисплея, а для iPad понадобится один набор для 12,9-дюймового дисплея . Если нет, то необходимо подготовить наборы скриншотов для каждого разрешения. Все разрешения экранов можно посмотреть тут;
- скриншоты не должны содержать альфа-канал — информацию о прозрачности изображения. При сохранении конечного варианта отключайте альфа-канал, если решили подготовить изображения в формате PNG;
- не более 72 точек на дюйм;
- схема формирования цвета – RGB;
- формат PNG или JPEG.
Все требования App Store к скриншотам доступны по ссылке.
Видео для предпросмотра приложения (опционально)
Это опциональный маркетинговый материал, но если есть желание показать приложение клиенту с максимально выгодной стороны и соответствующий бюджет, то это лучше сделать. Для записи видео с экрана iPhone можно использовать приложение QuickTime.
Требования App Store к видео:
- разместить можно только один видеоролик;
- формат M4V, MP4 или MOV;
- размер не должен превышать 500 MB;
- длительность видеоролика от 15 до 30 секунд.
Более подробную спецификацию можно посмотреть тут.
Ключевые слова
Для более точного результата поиска в App Store можно указать одно или несколько ключевых слов, описывающих приложение. Максимальный суммарный объем всех ключевых слов — 100 символов.
Обеспечение сборки наличием сертификата цифровой подписи
Цифровая подпись необходима для того, чтобы App Store мог идентифицировать разработчика. В дальнейшем только этот разработчик сможет обновлять и изменять приложение. Этот пункт инструкции относится к технической стороне разработки и выполняется разработчиком. Если у сборки не будет правильной подписи, можно получить реджект со стороны App Store, либо вовсе не получится выложить приложение. Поэтому перед публикацией необходимо удостовериться, что приложение имеет подпись.
Платное приложение и внутренние покупки
В случае, если приложение платное или в нем используются внутренние покупки (In-App Purchase, или IAP), необходимо указать правильный тип IAP. Внутренние покупки бывают четырех видов:
- consumables (потреблямые). Покупаются многократно: патроны и здоровье в играх, кредиты в Skype;
- non-consumables (непотребляемые). Покупаются один раз: фильмы, книги, функции приложения, новые уровни;
- автоматически обновляемые подписки;
- подписки, обновляемые вручную.
Автоматически обновляемые подписки самостоятельно списывают деньги с карточки пользователя. Их можно использовать только для:
- периодических изданий (журналы, газеты);
- подписки на бизнес приложения;
- медиа-приложения (музыка, видео).
Приложения могут использовать контент (журналы, музыку, фильмы), купленный вне приложения, если вы не даёте ссылку на внешний механизм покупки.
Более подробную информацию о том, как оформлять внутренние покупки, можно прочитать тут.
Что может стать причиной отклонения приложения:
- Apple нужна дополнительная информация о приложении;
- у Apple возникают проблемы при тестировании приложения в их окружении.
- у приложения недостаточно функциональностей для того, чтобы считать его полноценным.
- в приложении серьезно нарушены гайдлайны Apple.
- не указано, для каких целей нужно давать доступ к камере, к библиотеке и т.д.
Подробнее о причинах отклонения можно прочитать тут.
- Публикация Android-приложений в Google Play.
- Как создать идеальное описание приложения для App Store и Google Play.
Как сделать приложение для iPhone самому

В закладки

Без финансовых вложений и специальных знаний.
Вот простейшая инструкция, как создать элементарное iOS-приложение и испытать его на своем устройстве. Отталкиваясь от нее вы сможете дальше углубиться в тему и создавать реально полезные программы.
Примечание для пользователей Windows: чтобы создавать приложения для iOS вам необходимо установить OS X на виртуальной машине (VirtualBox, VMware). Это процесс отнюдь не прост и для его осуществления требуется отдельная инструкция.
1. Идем в App Store и устанавливаем среду разработки XCode:

Если у вас уже стоит XCode, то необходимо обновить его.

2. Запускаем xCode и выбираем пункт меню File -> New -> Project:
3. Выбираем платформу и тип приложения:


4. Указываем информацию о проекте. Обратите внимание, что мы выбрали тип приложения «Universal»:
5. Нажимаем на кнопку New Folder и указываем имя папки, в которой будем хранить файлы приложения:


6. Снимаем галочку с чекбокса Create Git Repository и нажимаем кнопку Create . В результате вы должны попасть на стартовый экран работы над приложением:
7. Нажимаем на пункт Main.storyboard в правом меню, перетаскиваем на основное поле элемент Label и добавляем в него текст Hello_world:

8. Теперь надо сделать иконку для приложения. Подбираем картинку и загружаем ее на mapappicon.com:
![]()
9. Ждем когда веб-приложение закончит работу и указываем свой адрес электронной почты для получения архива с иконками:
![]()
10. Возвращаемся в XCode и в левом меню выбираем раздел Assets.xassets:
![]()
11. Открываем архив из почты и перетаскиваем иконки оттуда на рабочее пространство XCode:
![]()
12. Выбираем один из симуляторов устройств, нажимаем на кнопку запуска приложения (черный треугольник) и включаем на своем Mac Developer Mode:

13. Повторяем попытку запуска. Ждем, когда на симуляторе загрузится iOS:

14. Убеждаемся, что приложение работает:

Смотрим готовое приложение на устройстве
Теперь можно посмотреть, как работает приложение на устройстве. Перед выполнением инструкции убедитесь, что у вас свежие версии XCode и iOS.
1. Идем в xCode -> Preferencies -> Accounts и добавляем свой Apple ID:

2. Подсоединяем iOS-устройство к компьютеру:

3. Выбираем нужное устройство в списке и нажимаем на кнопку запуска. Ждем некоторое время.
4. Если вылезло сообщение о проблемах с безопасностью, то на iOS-устройстве идем в Настройки -> Основные -> Управление устройством и разрешаем запуск приложений от разработчика с вашим Apple ID:


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


7. Отсоединяем устройство от компа. Теперь приложением можно пользоваться.
Что делать, если хочешь больше?
С помощью метода научного тыка и Google можно расширить вышеприведенную последовательность действий и создать более функциональное приложение. Но использовать его можно будет только на своих устройствах.
Ведь Apple предъявляет очень высокие требования к приложениям. App Store Review Guidelines включает в себя 29 пунктов и более сотни подпунктов. Для того, чтобы приложение им соответствовало и было принято для публикации в магазине, разработчику требуется большой объем технических знаний.
Если хотите создавать качественные приложения для iOS предназначенные для массового использования, надо учиться!

Начать въезжать в тему можно с бесплатных вебинаров о мобильной разработке. Регистрируйся и смотри:
- Программирование на Objective-C. Разработка простого калькулятора для iPhone
- Swift — скорость и простота разработки
- Язык Swift против языка Objective-C
- Обзор Swift Cocoapods Frameworks
- Обзор Swift Cocoapods Frameworks. Часть 2
- Обзор Swift Cocoapods Frameworks. Часть 3
- Обзор Swift Cocoapods Frameworks. Часть 4
- Реактивное введение в мобильную разработку под Windows
- Методы тестирования мобильных приложений на платформе Android
А лучше записаться на бесплатный курс Objective C. Приложение TO-DO List. Он состоит из 16 уроков с домашними заданиями, которые проверяются преподавателем.
(18 голосов, общий рейтинг: 4.56 из 5)
Хочешь ещё? Читай больше в Telegram
Ищешь ответ на вопрос? Приходи на Форум
Без финансовых вложений и специальных знаний. Вот простейшая инструкция, как создать элементарное iOS-приложение и испытать его на своем устройстве. Отталкиваясь от нее вы сможете дальше углубиться в тему и создавать реально полезные программы. Примечание для пользователей Windows: чтобы создавать приложения для iOS вам необходимо установить OS X на виртуальной машине (VirtualBox, VMware). Это процесс отнюдь.
Как выложить приложение в App Store: полная пошаговая инструкция

Мы много лет хранили вовсе не тайное, но полезное знание о том, как разместить приложение в App Store. Наверняка, наша инструкция не первая, которую вы нашли в интернете. Возможно, в предыдущих вас смутила подача, актуальность данных или сложная терминология. Понимаем, нас тоже. Поэтому мы написали свою.
В ней мы по шагам расписали весь процесс загрузки приложений в App Store — от регистрации аккаунта в панели управления App Store Connect до проверки приложения рецензентами Apple. К каждому шагу мы прикрепили скриншоты из стора, чтобы начинающие менеджеры проектов и разработчики без запинки могли повторить алгоритм.
Инструкция актуальна на конец 2020 года: она поможет клиентам студий мобильной разработки узнать свежие данные о том, как происходит релиз приложения, из каких этапов он состоит и кто в нём участвует. Также из статьи вы узнаете, почему App Store может отклонить сборку, и как этого избежать.
Что в статье
- Определения не совсем понятных слов
- Кто за что отвечает во время релиза
- Публикация приложения в App Store: кратко
- Инструкция: как опубликовать приложение в App Store
- Почему App Store отклоняет сборку: борьба с реджектами
- Сколько времени занимает релиз в App Store
- Как мы поддерживаем приложения и помогаем выкладывать их в стор
Определения не совсем понятных слов
На языке айти публикацию приложения называют релизом. Чтобы текст легко давался вам без гугла, мы составили тематический словарик — ознакомьтесь с ним прежде, чем перейти к инструкции:
- Билд, или сборка — файл приложения формата (.IPA), который разработчик загружает в App Store Connect (дальше узнаете, что это такое).
- Подпись приложения — технология, которая позволяет подтвердить, что приложение создал конкретный разработчик.
- Сертификат — файл с «разрешением» на от Apple; подтверждает, что человек за компьютером, на котором установлен сертификат, член Apple Developer Program и может подписывать сборки этим сертификатом.
- Ключ — публичный ключ, используемый для подписи приложения.
- TestFlight — сервис App Store Connect, в котором тестируются приложения.
- Ревью — проверка приложения рецензентами App Store.
- Реджект — возвращение билда на доработку, отклонение сборки.
- Фичеринг — попадание приложение в подборки стора.
Кто за что отвечает во время релиза
- Менеджер проекта — курирует процесс, заполняет страницу приложения, при необходимости ведёт переговоры с Apple.
- — занимается всем, что связано со сборками и цифровой подписью.
- Дизайнер — готовит скриншоты и другие графические материалы для страницы приложения в сторе.
- Клиент, или владелец приложения — регистрирует аккаунт, утверждает маркетинговые материалы.
Публикация приложения в App Store: кратко
Что нужно сделать, чтобы опубликовать приложение в App Store:
- Зарегистрироваться в Apple Developer Program
- Создание Apple ID
- Профиль
- Регистрация в App Store Connect
- Локализуемая информация
- Общая информация
- Маркетинговые материалы
- Способ релиза
- Опрос для присвоения возрастного рейтинга
- Стоимость приложения
- Встроенные покупки
Инструкция: как опубликовать приложение в App Store
1. Регистрируемся в Apple Developer Program
Кто этим занимается: владелец мобильного приложения.
Приложение релизится через App Store Connect — сервис Apple для публикации, обновления и аналитики выпущенного ПО. Чтобы получить доступ к административной панели, нам нужно быть участниками Apple Developer Program. Для этого мы:
1.1. Создаём Apple ID — уникальный идентификатор пользователя, без которого невозможно взаимодействовать с App Store.
1.3. Заходим в App Store Connect, используя аккаунт разработчика.

Сколько стоит выложить приложение в App Store
Сколько времени занимает регистрация
Регистрация физических лиц происходит сразу, а юридических — длится от двух до четырёх недель. В это время организация Dun & Bradstreet проверяет документы компании и присваивает ей D- Number — уникальный девятизначный номер, который подтверждает, что деятельность компании легитимна. Если вы хотите опубликовать приложение на iOS от имени юридического лица, позаботьтесь о том, чтобы получить этот номер заранее.

2. Добавляем информацию о приложении
Кто этим занимается: менеджер проекта, разработчик или клиент.
После регистрации аккаунта, до загрузки сборки, мы можем заполнить данные о приложении в разделе «Общая информация» панели App Store Connect.

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

1) Маркетинговое название может отличаться от собственного имени приложения. Имя указывается в коде мобильного приложения — его пользователи будут видеть, когда скачают приложение на девайс. Маркетинговое название отображается на странице приложения в App Store.
Удачная формула маркетингового названия: имя приложения + идея/назначение. Длина до 30 символов. Если приложение локализовано для других стран, мы проверяем длину названия на каждом языке.

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

2) Подзаголовок — краткое описание под названием приложения. Apple рекомендует выделить в нём функции, которые находят отклик у нашей аудитории. Объём — до 30 символов.

3) Политика конфиденциальности добавляется в App Store Connect просто: Ctrl+C, Ctrl+V. Мы копируем документа клиента в соответствующее поле. Если у клиента нет готовой политики конфиденциальности, мы предлагаем документ нашей студии, составленный в соответствии с политикой App Store. Мы делаем это, чтобы ускорить релиз и не ждать подготовку документа со стороны клиента — так у него будет возможность сделать это позже.

Локализации для приложения настраиваются в нескольких местах. В подразделе «Локализуемая информация» в зависимости от выбранного языка мы можем изменить название приложения и подзаголовок.

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

1) Возрастной рейтинг устанавливается при оформлении первой сборки в релиз: на странице общей информации он будет отображаться автоматически после того, как мы пройдём анкету — но об этом чуть позже.
2) Лицензионное соглашение (terms of use) для публикации мы используем стандартное — от Apple. Но если клиент хочет использовать свой собственный документ, мы меняем его, нажав кнопку «Редактировать» — на панели она будет находиться рядом с подзаголовком «Лицензионное соглашение».

3. Настраиваем capabilities, сертификаты и профили приложения в Apple Developer
Кто этим занимается: , который всё это умеет.
После регистрации мы должны дать разработчику студии доступ к нашему проекту в Apple Developer Center — без него он не сможет загрузить сборку приложения в TestFlight.
У Apple есть разные пользовательские роли, их нужно внимательно изучить и настроить права доступа для разработчика. Помимо прав Developer, разработчику нужно дать разрешение на создание сертификатов и Provisioning Profiles, чтобы он мог вносить необходимые изменения.


После того как разработчик загрузит сборку в TestFlight, в App Store Connect появится возможность создать приложение, связанное с App ID.

4. Готовим приложение к отправке
Кто этим занимается: менеджер проекта, дизайнер, разработчик и/или клиент.
Мы получили доступ к сборке в панели App Store Connect и теперь должны подготовить её к публикации в сторе.
4.1. Загружаем маркетинговые материалы
1) Рекламный текст отображается в поиске до того, как пользователь нажимает кнопку «Подробнее». В отличие от других элементов карточки приложения рекламный текст можно изменить в любое время.


3) Теги, или ключевые слова, поднимают приложение в результатах поиска. Пишем их на основе слов, которые, по нашему мнению, аудитория будет использовать при поиске приложения в App Store.
Требования App Store:
- не более 100 символов;
- разделяются запятыми без пробелов;
- могут содержать пробелы внутри ключевой фразы.
Пример: Property,Real Estate,House. В данном случае Real Estate — тег, внутри которого есть пробел, но от других тегов его отделяют только запятые.

Apple может отправить приложение на реджект ошибок и нарушений в ключевиках. В тегах запрещено:
- несанкционированное упоминание товарных знаков, имен знаменитостей и других охраняемых слов и фраз;
- использование терминов, не относящихся к приложению;
- использование названий конкурирующих приложений;
- использование нерелевантных, оскорбительных или нежелательных терминов.
Текстовая информация на странице приложения должна быть вручную локализована для стран, в которых будет распространяться приложение.
4) Уникальная иконка нужна, чтобы пользователи узнавали приложение в App Store. Её же магазин будет использовать в случае фичеринга.
Основные требования App Store:
- разрешение — 1024×1024 пикселей, 72 тчк/дюйм;
- цветовая схема — RGB, один слой, без прозрачности и скруглённых углов;
- формат — PNG.
5) Скриншоты нужны, чтобы показать пользователю, что его ждёт, когда он установит приложение, — они отображают действия, которые люди могут совершать в приложении. У скриншотов две основные задачи: быть информативными и привлекать внимание.


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

Мы обязательно добавляем скриншоты для двух диагоналей iPhone:
- 6.5 дюйма — 1242×2688 пикселей для вертикальной ориентации, 2688×1242 — для горизонтальной;
- 5.5 дюйма — 1242×2208 пикселей для вертикальной ориентации, 2208×1242 pixels — для горизонтальной.

Другие требования App Store:
- разрешение не более 72 точек на дюйм;
- схема формирования цвета — RGB;
- формат — JPEG или PNG (без ).
Если приложение адаптировано под iPad, то в App Store Connect нужно добавить соответствующие скрины. Обязательная диагональ — 12.9 дюйма для iPad Pro 3-его и 4-ого поколений.
6) Видеопревью — это запись экрана длинной до 30 секунд. Превью демонстрирует возможности, функциональность и интерфейс приложения.
Когда пользователь находится на странице приложения в App Store, видео автоматически включается в беззвучном режиме. Поэтому в первые три секунды важно показать человеку кадры, которые захватят его внимание.
Требования App Store
Мы можем разместить до трёх видеопревью на странице приложения и локализовать их для всех доступных языков App Store. Формат — M4V, MP4, MOV, объём

Все советы по оформлению и оптимизации страницы приложения в App Store собраны в гайде, который поможет настроить страницу так, чтобы она мотивировала пользователей скачивать приложение и подходила под стандарты Apple.
Изменить информацию о приложении в App Store Connect после публикации нельзя. Такая возможность появится только при выпуске обновления, поэтому лучше сразу всё делать «на чистовик».
4.2. Выбираем способ выпуска версии
App Store считается сложным местом для релиза, потому что приложения в нём проверяют люди: через рецензентов проходят десятки проектов в день. Первичное ревью длится 3–5 дней, а проверка обновлений может проходить 1–3 дня.
Мы не можем знать, сколько времени рецензенты будут проверять наше приложение. Значит, не можем назначить точную дату релиза. Но в App Store нашли выход из этой ситуации. Мы можем выбрать:

- Автоматический релиз после проверки — в этом случае приложение появится в сторе сразу после успешного ревью.
- Не раньше указанной даты — приложение пройдёт ревью и будет ожидать даты, которую мы указали, чтобы опубликоваться в сторе. Если по причине проверка затянулась и выбранная дата прошла, приложение будет опубликовано сразу после проверки.
- Релиз по кнопке — проверенное и одобренное приложение ждёт, когда мы сами нажмём кнопку «Релиз».
4.3. Проходим опрос для присвоения возрастного рейтинга

Ускоренная проверка приложения
Мы можем запросить ускоренное ревью и для выпуска обновлений. Это нужно в случае, если в предыдущей версии мы обнаружили баг, который не даёт людям пользоваться приложением. Рецензенты увидят нашу заявку и поднимут приложение в общей очереди.
Одновременный релиз в Apple и Google Play
Если мы готовим одновременный релиз приложений для платформ iOS и Android, то мы начинаем публикацию с App Store. Пока Apple проверяет клиентский аккаунт, мы подготавливаем страницу приложения в Google Play. И уже после получения доступа к Apple Developer переходим к настройке приложения в App Store Connect.
Если вам необходимо, чтобы пользователи iOS и Android получили свои приложения одновременно, можно сделать следующее:
- Настроить страницы приложения в сторах.
- Выбрать «Релиз ко кнопке» в App Store Connect.
- Отправить на ревью.
- Дождаться уведомления от App Store о том, что приложение прошло ревью.
- Отправить на релиз .
- Дождаться, пока пройдёт ревью и попадёт в стор.
- Нажать кнопку для релиза .
Благодаря этому алгоритму приложения в Apple Store и Google Play выйдут с минимальной разницей во времени.
5. Настраиваем оплату за использование приложения
Кто этим занимается: менеджер, разработчик или клиент.
На этом этапе нам предстоит сделать два дела: указать цену за скачивание приложения и настроить встроенные покупки (IAP).
5.1. Выбираем цену приложения
Приложение может распространяться бесплатно или стоить денег. В разделе «Общая информация» на вкладке «Ценообразование и доступность» мы выбираем сумму, которую пользователи будут вносить за скачивание приложения.

5.2. Настраиваем встроенные покупки
Встроенные покупки настраиваются в одноимённом разделе панели App Store Connect в меню в левой части экрана.

30% от цены любой встроенной покупки уходит Apple — это деньги клиента. Чтобы сэкономить их, мы должны знать, что является встроенной покупкой, а для чего можно использовать эквайринг (оплату картой) и не платить комиссию Apple.
- Не будет считаться встроенной покупкой всё, что покупается в приложении, но услуга или товар предоставляется пользователю вне его. Пример: покупки в не считаются встроенными, потому что люди пользуются купленными товарами в реальной жизни.
- Встроенная покупка — это всё, что покупается внутри приложения и даёт преференции именно в приложении. Кредиты на звонки в Skype — встроенная покупка, потому что они позволяют звонить внутри приложения, то есть использовать покупку в «виртуальном» мире.
Встроенные покупки бывают четырёх видов:
- Расходуемые — их покупают многократно: патроны, здоровье в играх, кредиты в Skype.
- Нерасходуемые — их покупают один раз: фильмы, книги, дополнительные функции приложения, уровни.
- Подписка с автоматическим продлением — деньги с карточки пользователя списываются без участия пользователя.
- Подписка без автоматического продления — пользователь обновляет подписку вручную.
Встроенные покупки заводятся в аккаунте, а их ключи указываются разработчиком в сборке: мы проверяем, чтобы настройки в App Store Connect совпадали с данными, которые внёс разработчик, указываем ID продукта и создаём для покупки оригинальное название.
6. Отправляем сборку на проверку в App Store
Кто этим занимается: менеджер, разработчик или клиент.
У каждой версии приложений есть несколько билдов, или сборок — вариантов кода приложения. В разделе TestFlight мы выбираем протестированную сборку, которая, на наш взгляд, готова к релизу. Она должна соответствовать заявленной функциональности и стандартам качества Apple — именно этот билд пользователь скачает на своё устройство.
После этого мы ещё раз:
- Проверяем приложение на наличие сбоев и ошибок при помощи TestFlight и команды тестировщиков.
- Убеждаемся, что вся информация о приложении полная и точная.
- Обновляем контактную информацию, чтобы ревьюер Apple мог связаться с нами.
- Включаем серверные службы, чтобы они были активными и доступными во время проверки.
- Добавляем подробные объяснения неочевидных функций и покупок в приложении в примечания к обзору приложений.
- Предоставляем Apple тестовые учетные записи при наличии авторизации.
Не бойтесь забыть о , когда заполняете страницу приложения. App Store обязательно покажет пропущенные поля, а значок «?» объяснит, какая информация в этом месте нужна системе.
Ревью нового приложения может длиться два-три дня, обновления — один день. Индексация проверенного приложения в поиске App Store — до суток: в это время на страницу приложения можно будет попасть по ссылке из App Store Connect. И только после индексации приложение станет доступно в сторе для пользователей.
Фичеринг опубликованного приложения в App Store
Чтобы пользователи узнавали о новинках и топовых приложениях, редакторы App Store создают тематические подборки. Их мы видим при запуске стора. Попадание в такую подборку называется фичеринг. Он повышает конверсию в скачивания и делает приложению бесплатную рекламу.
Почему App Store отклоняет сборку: борьба с реджектами
Почему App Store отказывает в публикации
В App Store «более миллиона заявок отклонено из‑за сомнительного, небезопасного или незаконного контента». Рецензенты следят за тем, чтобы приложения:
- поступали из проверенных источников;
- не содержали известного вредоносного ПО;
- не допускали возможности взлома во время установки или использования;
- не содержали порнографии, оскорблений, сцен насилия, пропаганды наркотиков, алкоголя и курения.
Но иногда рецензенты Apple реджектят совершенно обычные приложения. Не надо паниковать — это нормальная практика. Если так случилось с вашим приложением, значит оно нуждается в доработке:
Проблемный кейс № 3. «Регистрация».
Решение. При проверке приложений, в которых нужно регистрироваться в Личном Кабинете, ревьюеры не регистрируются, а используют пароль и логин, предоставленный разработчиком. Если они не находят эти данные, они отклоняют сборку. Укажите логин и пароль в анкете и попробуйте снова.Проблемный кейс № 4. «Прикреплённые скриншоты не соответствуют содержанию».
Решение. Узнайте у дизайнеров, как создать подходящие скриншоты, или делегируйте эту задачу им.Проблемный кейс № 5. «Нет оснований для доступа к пользовательским данным».
Решение. Приложение пытается получить доступ к контактам, галерее и другим библиотекам пользователя. Если рецензенты не видят для этого достаточных оснований, они развернут приложение. Вам нужны сильные аргументы, которые убедят сотрудников Apple, что вы не пытаетесь украсть данные пользователей.Иногда реджект происходит по объективным причинам, а иногда зависит от настроения и осведомлённости рецензентов. В таком случае нам поможет немного хитрости и умение договариваться.
Команда «Лайв Тайпинга» поделилась историями о том, как мы искали общий язык с командой Apple.
— Порочный круг
Мы подключали встроенные покупки в приложении — ежемесячные и годовые подписки. Завели подписки в App Store, подключили в мобильном приложении и отправили сборку и подписки на проверку. Приложение реджектнули с сообщением о том, что подписки не работают. Но они и не могли заработать, пока их не проверят. А их не проверили, потому что сборку реджектнули, и так далее, по кругу. Чтобы выйти из этой ситуации, мы связались с поддержкой App Store и попросили их проверить сперва подписки, а затем проверять приложение. После чего мы заново собрали сборку, и отправили её на проверку без релиза (вариант «Релиз по кнопке»), после чего ревьюер проверил и одобрил подписки, и только потом приступил к проверке приложения. Основная проблема была в том, что мы не имели возможности проверить подписки до тех пор, пока они не будут заведены в App Store. И только после того, как их одобрили через подобный «условный» релиз, мы смогли всё протестировать и отправить на проверку уже «настоящую» сборку.
Роман Дмитриев, менеджер проектов «Лайв Тайпинга»
— Трудности перевода
Мы разрабатывали приложение для баров. Оно подтягивало друзей из «ВКонтакте» и Facebook, чтобы показать в каком баре они находятся. Приложение было на русском, а ревьюер попался иностранный. Он не понимал, что список друзей (Friends) из социальных сетей нужен нам для того, чтобы отобразить его в приложении на вкладке «Друзья» — с его стороны это выглядело как коллекционирование пользовательских данных. Мы инициировали звонок и долго объясняли ему, как работает приложение. В момент я так и сказал ему: «Друзья — это friends». Тогда он всё понял и согласился пропустить приложение.
Павел Разуваев, «Лайв Тайпинга»
— Нет изюминки!
Мы делали приложение для оплаты коммунальных услуг с очень простой функциональностью: пользователь открывает приложение, вписывает номер Единого лицевого счёта, вводит номер карты и оплачивает счёт. В Apple сказали, что функции в приложении не отличаются от функций сайта, поэтому они не могут его принять. Но клиенту нужно было именно это. Мы пошли на хитрость и «усложнили» мобильное приложение: добавили splash screen с загрузкой и кнопку «Информация», на которой выводилась инфа из стора. После этого ревьюеры пропустили сборку.
Роман Дмитриев, менеджер проектов «Лайв Тайпинга»
— А что, так можно было?
Если вам вернули сборку, но вы уверены, что приложение работает как надо, подождите немного и отправьте её на проверку снова: вероятнее всего, она попадёт к другому рецензенту, который пропустит её.
Сколько времени занимает релиз в App Store
Без учёта реджекта и времени на подготовку маркетинговых материалов релиз приложения займёт месяц:
- 2–4 недели — проверка документов на стороне Apple;
- 1 день — оформление страницы в App Store Connect;
- 2–3 дня — ревью (для релиза обновлений — 1 день).
При первой публикации приложения много чего может пойти не так, и тогда релиз затянется. Чтобы этого не случилось, важно иметь под рукой специалиста, который знает всё о релизе и разработке приложений.
Как мы поддерживаем приложения и помогаем выкладывать их в стор
Как будет строиться наше сотрудничество:
- Вы кратко расскажете о своём проекте — про его основную задачу, главные функции, проблемы, которые возникли при релизе, и ваши дальнейшие цели.
- Мы проведём мини-аудит продукта, поймём чем, сможем помочь, предложим свои решения и оценим стоимость работ.
- Если вам понравится наш подход и вы захотите с нами сотрудничать, мы подпишем договор поддержки и будем заботиться о вашем приложении долго-долго.
Проекты, которые мы поддерживаем:
- Иль де Ботэ — уже 7 лет помогаем бьюти-ретейлеру увеличивать объёмы продаж в онлайне.
- Selgros — развиваем сеть немецких гипермаркетов в мобильном приложении.
- Derufa — сделали приложение-сканер цветов для увеличения лояльности клиентов магазина красок.
- ChipDip — добавили в приложение функциональность, полезную для оптовых покупателей.
