Настройка CI/CD для iOS-приложения через Xcode Cloud

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 1735 услуг
Настройка CI/CD для iOS-приложения через Xcode Cloud
Средний
~2-3 дня
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    495

Настройка CI/CD для iOS-приложения через Xcode Cloud

Xcode Cloud — Apple-первый CI/CD. Он работает непосредственно внутри Xcode IDE и App Store Connect, не требует отдельного сервера или yaml-конфигов. Для команды, которая делает только iOS, это самый малонастраиваемый, но зато наименее конфликтующий с экосистемой Apple вариант.

Что Xcode Cloud делает хорошо — и где его пределы

Provisioning profile и сертификаты Xcode Cloud управляет сам через App Store Connect. Это главное преимущество: нет проблем с code signing failed на CI, нет fastlane match с отдельным Git-репо сертификатов. Apple просто имеет доступ к вашему аккаунту разработчика и сам берёт нужный профиль.

Ограничения:

  • Только Apple-экосистема: Swift, Objective-C, Xcode. Никаких шаров Flutter/React Native без нативного Xcode-таргета
  • Минимальная кастомизация окружения: нельзя установить произвольный brew-пакет без ci_post_clone.sh скрипта
  • Нет поддержки self-hosted runner — только облако Apple
  • Ограничение: 25 часов бесплатных вычислений в месяц (для paid developer account)

Структура workflow в Xcode Cloud

Workflow настраивается в Xcode: Product → Xcode Cloud → Manage Workflows. Основные параметры:

Start Condition — триггер: push в ветку, PR, тег, или вручную. Для main-ветки — автоматически при каждом merge. Для feature-веток — только вручную или по PR.

Environment — версия Xcode (выбирается из списка доступных), дополнительные переменные окружения (API keys и т.п.). Secret-переменные добавляются в App Store Connect → Xcode Cloud → Secrets, не в репозиторий.

Actions — цепочка шагов:

  1. Build — компиляция с выбранной схемой и конфигурацией
  2. Test — запуск XCTest/XCUITest на симуляторе или реальном устройстве
  3. Archive — создание .xcarchive для дистрибуции
  4. Distribution — TestFlight internal/external или App Store

Post-Actions — уведомления в Slack, email.

Кастомные скрипты

Xcode Cloud позволяет добавлять bash-скрипты в специальные директории:

ci_scripts/
  ci_post_clone.sh      # после клонирования репозитория
  ci_pre_xcodebuild.sh  # перед сборкой
  ci_post_xcodebuild.sh # после сборки

Пример ci_post_clone.sh для установки зависимостей через mint:

#!/bin/sh
set -e
# Устанавливаем mint если нет
if ! command -v mint &> /dev/null; then
    brew install mint
fi
mint bootstrap

Скрипты должны быть executable (chmod +x). Если скрипт завершается с ненулевым кодом — весь workflow падает.

TestFlight-дистрибуция и ревью

Xcode Cloud напрямую интегрирован с TestFlight. После успешной архивации — сборка автоматически появляется в TestFlight. Internal tester-ы (члены команды в App Store Connect) получают доступ сразу. External tester-ы (до 10 000) — после прохождения Beta App Review (обычно 1–3 дня для первой сборки).

Важно: каждое изменение в NSUsageDescription ключах Info.plist может спровоцировать повторный Beta App Review.

Мониторинг билдов

Статус workflow виден прямо в Xcode (Product → Xcode Cloud → Builds) и в App Store Connect. Email-уведомления при сбоях — настраиваются там же. Logs скачиваются из UI, анализ конкретного шага — фильтрация по Build, Test, Archive фазам.

Сроки

Настройка Xcode Cloud workflow с Build + Test + TestFlight distribution: 3–5 дней. Настройка кастомных скриптов, multiple workflows (feature/main/release), Slack-уведомления: 1–1.5 недели. Стоимость рассчитывается индивидуально.