Выкладываем приложение в App Store. Даже если вы не разработчик

jc1lh0j-3tc5wtsl4f76yqdfok0.jpeg


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


Для того чтобы выложить приложение в App Store, потребуется оплаченный аккаунт разработчика, среда разработки XCode и исходный код вашего приложения. Разобьем процесс на четыре этапа:


  1. Настройка аккаунта
  2. Оформление приложения для магазина
  3. Настройка проекта, сборка и выгрузка
  4. Отправка на ревью


Настройка аккаунта


Все приложения перед выгрузкой в App Store должны быть подписаны сертификатом разработчика. Это нужно, чтобы пользователи App Store были уверены, что скачивают конкретное приложение от конкретного разработчика, а не подделку от чужого имени. Процедура подписывания (code signing) приложения позволяет операционной системе узнать, кто является разработчиком. И удостовериться в том, что приложение не было изменено с момента сборки. Точнее, с того момента, как разработчик его подписал. В этой процедуре участвуют три объекта: сертификат разработчика, AppID и Provisioning profile.


Сертификат


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


Одного сертификата достаточно для выкладки неограниченного количества приложений.


Чтобы создать сертификат, нужно:


  • Перейти на developer.apple.com, перейти в раздел «сертификаты», нажать на плюсик


w47xutlx-sixubxv4wqjr0sdmaw.png


  • Выбрать тип сертификата Production — App Store and Ad Hoc
  • Следуя приведенным инструкциям сформировать Certificate request и загрузить его на портал


Сохраните сгенерированный сертификат на компьютер, откройте его (дважды кликнув). Сертификат будет помещен в системное хранилище и доступен для XCode.


AppID


Это уникальный строковый идентификатор приложения среди всех приложений. Он нужен для однозначной идентификации во всех системах: iTunes Connect, App Store и пр. Он состоит из двух частей: TeamID и BundleID. TeamID — идентификатор разработчика, выдается Apple на этапе регистрации аккаунта разработчика и не меняется. BundleID задается разработчиком при регистрации приложения в аккаунте.


o7ekph4uzveulnxu-t32hvskijs.png


Создадим его:


  • Перейдите в раздел AppIDs (ссылка), нажмите на плюсик справа вверху
  • Заполните поле App ID Description — условное наименование приложения для разработчика, не видимое в App Store, например TestApplication
  • Заполните поле Explicit App ID — тот самый BundleID, например ru.myStartup.testApplication
  • В разделе App Services подключите те сервисы, которые понадобились в процессе разработки приложения. Если вы не понимаете, о чем речь — оставьте как есть.


Provisioning profile


Это профиль, который однозначно связывает AppID и сертификат разработчика (публичный ключ сертификата). В случае development provisioning profile он также содержит UDID всех устройств, на которых возможен запуск приложения.


Создадим его:


  • Перейдите в раздел iOS Provisioning Profiles (ссылка), нажмите на плюсик справа вверху
  • Тип профайла — App Store
  • Затем необходимо указать AppID, для которого создается профайл — укажите раннее созданный AppID
  • Следующий шаг — выбор сертификата. Отметьте галочкой сертификат, который мы создали ранее
  • Последним шагом необходимо дать наименование профайлу, например, TestApplicationStoreProfile


Сохраните сгенерированный профайл на компьютер, откройте его, дважды кликнув. Теперь сертификат доступен для XCode.


Оформление приложения для магазина


Теперь нужно добавить приложение в iTunes Connect.
Переходим на https://itunesconnect.apple.com в раздел MyApps. Чтобы добавить приложение, нажмите плюсик слева вверху:


tfn0_3nry1pblusu5snw39pmaqu.png


Заполняем открывшуюся форму:


  • Указываем платформу — iOS
  • Наименование приложения, будет отображаться в App Store. До 30 знаков.
  • Основной язык приложения
  • Выберите из выпадающего списка AppID приложения
    *SKU — уникальный идентификатор для финансовых отчетов и аналитики. Можно сделать таким же как BundleID выше


k3xek-rrnvhflbtxryrcdtrvquc.png


Если все заполнено правильно, попадаем на страницу приложения.


afh96ma1ozsgupu_minaxsq_xui.png


На вкладке слева «Pricing and Availability» заполняем информацию о стоимости приложения в сторе. На вкладке слева с номером версии заполняем маркетинговую информацию:


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


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


Также есть секция для того, чтобы можно было указать конкретную сборку, которую отправлять на ревью, а затем и в стор. Выбор недоступен до тех пор, пока мы не загрузили в iTunes Connect ни одной сборки приложения. Мы вернемся к этой секции позже:


xpjrv2uj--feh29ydkfeydoj758.png


Чтобы сохранить внесенные изменения, используйте кнопку Save наверху:


4ksa-xur2xqbt5swcv78g1p6d94.png


Настройка проекта, сборка и выгрузка


Откройте проект вашего приложения в XCode, перейдите к настройкам проекта. Необходимо, чтобы Bundle Identifier совпадал с BundleID, который вы указали при создании AppID. Также необходимо отключить функцию автоматического управления подписыванием в XCode. В выпадающем списке Provisioning Profile выберите тот, который недавно создали.


zg4kgyyhdupbf9glblfbmtuca1i.png


Обратите внимание: без всех необходимых иконок (в том числе иконка для магазина со стороной 1024 точки) сборка приложения не пройдет автоматическую проверку в iTunes Connect.


Теперь проект можно собрать и отправить в iTunes Connect. Для этого нужно нажать меню Product — Archive. По итогу сборки будет показано окно органайзера XCode, нажмите там кнопку «Upload To App Store»:


e_tzg6r_ayikaszemu4gye1nqis.png


Открывается окно настроек выгрузки в App Store. Подробнее про bitcode, symbols stripping. Оставляем настройки без изменений.


uejy9thujsch8ddlpqux6ys61m8.png


На следующем шаге нужно выбрать provisioning profile из выпадающего списка подходящих:


6us8t6b2lp3hvhinebocep4mz7a.png


Затем XCode подготовит архив для выгрузки в iTunes Connect. На этом экране обратите внимание на те параметры, что мы установили. Нажмите Upload.


busc__v5t4jfsyjvc35lzgxz5eq.png


В зависимости от скорости соединения нужно будет подождать некоторое время. Если все в порядке, XCode сообщит об успешном завершении выгрузки в iTunes Connect. Можно переходить к последнему этапу.


udmwin7nxozc3ip3vtyjcoobuwu.png


Отправка на ревью


В iTunes Connect на вкладке Activity можно увидеть отправленную сборку. Для проектов на Swift автоматическая проверка сборки занимает примерно полчаса. До тех пор сборка будет со статусом Processing:


_87v7y4omdysa2qbltnz26t9aik.png


После окончания проверки сборка доступна для выбора на странице информации о версии приложения:


rnxagmijiwjtwvdssle58fgspww.png


Выбираем сборку:


ewcxpiyj7aaek3qevd0eam--_2a.png


После этого у приложения в iTunes Connect появится иконка. Сохраните изменения. Теперь можно отправить сборку на ревью.


a8xvxmhptgfs-2bqaumvflb1iu8.png


Готово! Вы сделали все, что могли. Ждите ответа в течение нескольких дней. Не забудьте, что с 23 по 27 декабря iTunes Connect на каникулах. Разработчики не смогут обновлять и добавлять новые приложения в App Store и изменять ценники. Все остальные функции iTunes Connect будут доступны.

© Habrahabr.ru