Перейти к содержанию
Innovialabs

Как опубликовать приложение в App Store: пошаговая инструкция

Практика3 мин

Коротко

Нужны активный Apple Developer Program, подписанная сборка, заполненная карточка в App Store Connect со скриншотами и политикой конфиденциальности; после ревью Apple вы выпускаете приложение сразу, по дате или поэтапно.

Коротко: путь от Xcode до App Store

Публикация в App Store — это пять шагов:

  1. Аккаунт в Apple Developer Program (платное членство на год).
  2. Подпись: Bundle ID, сертификат дистрибуции и provisioning profile.
  3. Карточка приложения в App Store Connect: название, описание, скриншоты, приватность.
  4. Загрузка сборки из Xcode или через CI.
  5. Ревью и релиз: отправка на проверку, затем выпуск — вручную, автоматически или поэтапно.

Первый раз процесс занимает больше времени из-за настройки, следующие релизы идут по накатанной.

Шаг 1. Сертификаты и provisioning

Apple проверяет, что сборка подписана именно вашей командой. Для этого нужны три вещи:

  • App ID (Bundle ID) — уникальный идентификатор вида uz.company.app. Создаётся в разделе Certificates, Identifiers & Profiles. Поменять его после публикации нельзя.
  • Сертификат Apple Distribution — подтверждает, что сборку подписала ваша команда.
  • Provisioning profile типа App Store — связывает App ID, сертификат и включённые возможности (push, Sign in with Apple, iCloud).

Самый простой путь — Automatically manage signing в Xcode: он сам создаст сертификат и профиль. Ручное управление имеет смысл для CI и больших команд. Частая ошибка — потерянный приватный ключ сертификата: храните экспорт .p12 в защищённом хранилище команды.

Шаг 2. Карточка в App Store Connect

В App Store Connect откройте Apps → «+» → New App и укажите платформу, название, основной язык, Bundle ID и SKU (внутренний код, пользователи его не видят).

Затем заполните:

  • App Information: категория, возрастной рейтинг (анкета), ссылка на политику конфиденциальности.
  • App Privacy: какие данные собирает приложение и сторонние SDK (аналитика, реклама, crash-репортинг). Ответы должны совпадать с реальным поведением приложения.
  • Pricing and Availability: цена или бесплатно, страны распространения.

Шаг 3. Метаданные и скриншоты

Для каждой локализации нужны:

ПолеЧто важно
Название и подзаголовокКоротко, без ключевых слов через запятую
ОписаниеЧто делает приложение и для кого
Ключевые словаОграниченное поле, не повторяйте название
СкриншотыОбязательны для требуемых размеров экранов iPhone (и iPad, если поддерживается)
Support URLРабочая страница с контактами

Скриншоты должны показывать реальный интерфейс приложения. Актуальные размеры смотрите в справке App Store Connect — Apple периодически их меняет.

Шаг 4. Загрузка сборки

  1. Выберите в Xcode схему с конфигурацией Release и устройство Any iOS Device.
  2. Увеличьте номер сборки (Build) — он должен быть уникальным для каждой загрузки.
  3. Product → Archive, затем в Organizer — Distribute App → App Store Connect.

После загрузки сборка какое-то время обрабатывается и появляется во вкладке TestFlight. Прогоните её на реальных устройствах через TestFlight до отправки на ревью.

Для автоматизации подойдёт fastlane:

lane :release do
  build_app(scheme: "MyApp")
  upload_to_app_store(skip_screenshots: true, skip_metadata: true)
end

Шаг 5. Ревью и поэтапный релиз

На странице версии выберите загруженную сборку и заполните App Review Information: контакты, заметки для ревьюера и демо-аккаунт, если в приложении есть вход. Без рабочего тестового логина отказ почти гарантирован.

Ответьте на вопрос об экспортном контроле (использование шифрования) и выберите способ выпуска:

  • Manually release — вы сами нажимаете кнопку после одобрения.
  • Automatically release — версия выходит сразу после одобрения.
  • Scheduled — не раньше указанной даты.

Для обновлений доступен Phased Release: Apple постепенно раздаёт версию пользователям с автообновлением в течение 7 дней. Раскатку можно поставить на паузу, если в аналитике или crash-отчётах видна проблема. Пользователи, которые обновляются вручную, получают версию сразу.

Частые ошибки

  • Забытый демо-аккаунт или аккаунт с истёкшим паролем.
  • Политика конфиденциальности не открывается или не упоминает собираемые данные.
  • Скриншоты с макетами вместо реальных экранов.
  • Номер сборки не увеличен — загрузка отклоняется.
  • Ответы в App Privacy не учитывают сторонние SDK.

Частые вопросы

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

Поможем с этим

Если хотите не разбираться самим, а получить результат — этим мы занимаемся каждый день.

Обсудить проект

Читайте также

Есть идея или задача? Расскажите нам

Ответим в течение рабочего дня и предложим решение. Консультация бесплатная.