Налаштування 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 — це перша CI/CD від Apple. Він працює безпосередньо в IDE Xcode та App Store Connect, не вимагаючи окремого сервера чи yaml-конфігурацій. Для команд, що розробляють тільки iOS, це найменш конфліктна, хоча й найменш настроюється в екосистемі Apple.

Що Xcode Cloud робить добре—та його обмеження

Xcode Cloud сам керує provisioning profiles та сертифікатами через App Store Connect. Це головна перевага: немає проблем із кодуванням підписей у CI, немає окремого Git-репозиторія для сертифікатів fastlane match. Apple просто має доступ до вашого облікового запису розробника та сам бере потрібний профіль.

Обмеження:

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

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

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

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

Environment — версія Xcode (вибирається зі списку доступних), додаткові змінні оточення (API-ключі тощо). 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

Скрипти повинні бути виконуваними (chmod +x). Ненульовий код виходу зупиняє весь workflow.

Дистрибуція TestFlight та огляд

Xcode Cloud напряму інтегрований з TestFlight. Після успішної архівації—сборки автоматично з'являються в TestFlight. Внутрішні тестувальники (члени команди в App Store Connect) отримують доступ одразу. Зовнішні тестувальники (до 10 000)—після Beta App Review (зазвичай 1–3 дні для першої сборки).

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

Моніторинг сборок

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

Часова шкала

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