Опишите процесс публикации приложения в App Store для iOS.

«Опишите процесс публикации приложения в App Store для iOS.» — вопрос из категории DevOps, который задают на 10% собеседований IOS Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Процесс состоит из подготовительных этапов, сборки, тестирования и непосредственно публикации.

1. Подготовка:

  • Обновить маркетинговую версию (marketing version, e.g., 1.2.3) и номер сборки (build number, e.g., 123) в настройках проекта Xcode или через Info.plist.
  • Убедиться, что в Signing & Capabilities выбраны валидные сертификаты и provisioning profiles.
  • Подготовить все метаданные для App Store Connect: описание, скриншоты для всех устройств, ключевые слова, контактную информацию.

2. Сборка и архивация:

  • В Xcode выбрать Generic iOS Device или конкретное устройство.
  • Выполнить Product -> Archive.
  • После создания архива откроется окно Organizer.

3. Загрузка и настройка в App Store Connect:

  • В Organizer нажать Distribute App, выбрать App Store Connect и вариант для отправки на ревью.
  • После успешной загрузки билд появится в разделе TestFlight или App Store в App Store Connect.
  • В App Store Connect:
    • Создать новую версию (или выбрать существующую).
    • Привязать загруженный билд к этой версии.
    • Заполнить/проверить все метаданные, ответить на вопросы по экспорту и контенту.

4. Тестирование и отправка на ревью:

  • Добавить внутренних/внешних тестеров в TestFlight для финального smoke-тестирования.
  • Отправить версию на ревью Apple.

5. Релиз:

  • После одобрения можно выбрать тип релиза: ручной (выпускаете сами) или автоматический.
  • Для крупных обновлений рекомендуется использовать Phased Release (постепенный выпуск), чтобы отслеживать стабильность у части пользователей.

Автоматизация (пример):

# Автоинкремент номера сборки и установка версии через CLI
agvtool next-version -all          # Инкремент build number
agvtool new-marketing-version 2.1.0 # Установка marketing version