Ваш Mac для сборки iOS —
в облаке

Выделенный физический Mac, не виртуальная машина, 6 площадок —$20.1в день

Выделенный Mac для команды iOS: получите код, создайте архив, подпишите приложение и загрузите его в TestFlight.

Примеры сборок Ledger · release/2.8.1
6 площадок на выбор
Площадка сборки Сингапур SG Токио JP Сеул KR Гонконг HK Восток США US-E Запад США US-W
sg-m4-03 Mac mini M4 · 16GB Выделенный узел · повторное использование кэша
Архивирование → подпись → доставка Пример сборочных артефактов
СхемаВерсияПлощадкаВремяПодпись
Ledger-iOS — сборкаготова в 09:42 2.8.1 (412)Сингапур6m12sПодписано
Ledger-Widget — сборкаготова в 09:38 2.8.1 (412)Сингапур2m47sПодписано
Ledger-Watch — сборкаготова в 09:21 2.8.1 (412)Токио3m05sПодписано
Ledger-Beta — сборкаготова в 08:57 2.8.1 (411)Гонконг6m30sПодписано
Ledger-macOS — сборкаготова в 23:10 2.8.0 (409)Запад США7m02sПодписано
** EXPORT SUCCEEDED **

Ledger-iOS.ipa · 48.2 MB
Загружено в TestFlight
Доступно для установки группе внутренних тестировщиков «QA-Nightly»

Пример задачи и времени выполнения для демонстрации передачи сборки.
9:41

TestFlight · Подтверждение установки

Ledger2.8.1 (412)
Подпись
Distribution
Площадка сборки
Сингапур
Время сборки
6m12s
Размер
48.2 MB
Установить

Изменения: исправлено офлайн-кэширование страницы заказов, добавлен тёмный режим для виджета.

Целый Mac mini — только для ваших сборок

Runner не используется совместно с другими клиентами. Код, зависимости и кэш сборки остаются на вашем физическом узле.

Выделенный физический Mac, не виртуальная машина

Целый Mac mini предоставляется одному клиенту. Процессор, память и диск не делятся с другими клиентами — не нужно ждать, пока завершатся чужие задачи, чтобы собрать архив.

Загрузки SPM, зависимости CocoaPods и DerivedData можно сохранять для каждого проекта. Попадание в кэш зависит от ветки, версий зависимостей и параметров сборки — не придётся заново настраивать среду при каждой сборке.

Оплата за день / неделю / месяц / квартал

Для релизного спринта можно арендовать только на неделю: конфигурация M4 — $54.2в неделю. Для регулярных nightly-сборок сравните месячный и квартальный тарифы — покупать компьютер для офиса не придётся.

Цены открыты для всех четырёх сроков аренды. Выберите срок по длительности задач, затем уточните площадку, хранилище и дату окончания аренды. После подготовки машины настройте очередь сборок собственными скриптами.

6 физических площадок

Сингапур, Токио, Сеул, Гонконг, восток и запад США. Обе конфигурации доступны на всех 6 площадках — выбирайте с учётом расположения команды и нужных сервисов.

Для удалённой разработки важна задержка при работе с интерфейсом, а для автоматических сборок — ещё и маршрут до репозитория и загрузки артефактов. Площадки работают 365 дней в году — можно поручить выделенной машине сборки по расписанию.

Две конфигурации с прозрачными ценами

От $20.1в день. Для архивирования одного приложения подойдёт M4, а для нескольких Target, параллельных тестов и инференса — M4 Pro.

OSXBuild Bake M4

Для повседневных сборок
Чип
M4
Память
16GB
SSD
256GB

Стартовая конфигурация для одного приложения и 1–3 архивирований в день. Разместите исходный код, Xcode и часто используемые зависимости, а затем решите, нужен ли дополнительный SSD.

$20.1в день
За неделю
$54.2
За месяц
$100.3
За квартал
$272.8

OSXBuild Bake M4 Pro

Параллельные тесты · инференс
Чип
M4 Pro
Память
64GB
SSD
2TB

Производительная конфигурация для нескольких Target, UI-тестов и экспериментов с MLX. Число параллельных задач зависит от пикового потребления памяти и нагрузки тестов — сначала проверьте на практике, затем увеличивайте параллелизм.

$60.3в день
За неделю
$162.9
За месяц
$301.6
За квартал
$820.4

Все цены указаны в долларах США. Актуальную доступность площадок проверяйте в консоли; перед оплатой сверьте срок аренды, дополнительные опции и итоговую сумму заказа.

Одна отправка — подписанный IPA

От push до TestFlight — с привычным набором инструментов. Ниже показаны пять этапов передачи сборки Ledger-iOS; время приведено для примера.

01 · push

Отправьте ветку release

Отправьте ветку после локального коммита — CI запустит задачу сборки согласно вашей конфигурации.

git push origin release/2.8.1
Пример запуска0s
02 · fetch

Получите код на облачном Mac

Зафиксируйте версию коммита, чтобы изменения в ветке не нарушили соответствие архива и записи о релизе.

git fetch origin release/2.8.1 && git checkout --detach FETCH_HEAD
Примерное время18s
03 · archive

xcodebuild archive

Укажите Scheme, конфигурацию Release и путь к архиву. Журнал сохраняется вместе с артефактами.

xcodebuild -scheme Ledger-iOS -configuration Release -destination 'generic/platform=iOS' -archivePath build/Ledger.xcarchive archive
Примерное время4m51s
04 · export

Подпишите и экспортируйте IPA

Подготовьте сертификат и профиль provisioning, а в настройках экспорта укажите способ подписи и распространения.

xcodebuild -exportArchive -archivePath build/Ledger.xcarchive -exportOptionsPlist Export.plist -exportPath build/export
Примерное время38s
05 · upload

Загрузите в TestFlight

Настройте разрешение на распространение и загрузите IPA — после этого тестовая группа получит сборку.

fastlane pilot upload --ipa build/export/Ledger-iOS.ipa --api_key_path asc-key.json
Примерное время25s
Общее время в примере 6m12s Способ сборки На выделенном узле Передаваемые артефакты IPA + архив + журналы

Этот процесс команда настраивает самостоятельно: после аренды репозиторий не подключается автоматически. Перед первым запуском согласуйте версии Xcode, lock-файлы зависимостей и настройки подписи, затем зарегистрируйте self-hosted runner для GitHub Actions, GitLab Runner или Jenkins agent. Фактическое время зависит от размера проекта, кэша и сети.

6 физических площадок, доступны обе конфигурации

Сначала отберите площадки с учётом часового пояса команды, затем проверьте маршрут подключения. Приведённая ниже задержка — ориентир для региона, а не результат измерений в каждом городе.

Сингапур

Доступно

Юго-Восточная Азия

Часовой пояс команды
UTC+7~+8
Ориентир по региону
20~50 ms

Подходит командам в Юго-Восточной Азии: работайте днём, а ночью запускайте архивирование и доставку сборок.

Арендовать узел в Сингапуре

Токио

Доступно

Восточная Азия

Часовой пояс команды
UTC+9
Ориентир по региону
30~60 ms

Подходит командам, которые планируют разработку, тестирование и передачу nightly-сборок по графику рабочего дня Восточной Азии.

Арендовать узел в Токио

Сеул

Доступно

Северо-Восточная Азия

Часовой пояс команды
UTC+9
Ориентир по региону
30~50 ms

Подходит для совместной работы команд Северо-Восточной Азии: удалённую разработку и разбор ошибок сборки можно вести в одно рабочее время.

Арендовать узел в Сеуле

Гонконг

Доступно

Южный Китай и Юго-Восточная Азия

Часовой пояс команды
UTC+8
Ориентир по региону
20~40 ms

Подходит командам в часовом поясе UTC+8. Реальное качество соединения зависит от местного оператора и маршрута сети.

Арендовать узел в Гонконге

Восток США

Доступно

Восток Северной Америки и Западная Европа

Часовой пояс команды
UTC−5~UTC+1
Ориентир по региону
25~35 ms

Подходит для совместной работы команд на востоке Северной Америки и в Западной Европе. Запустите архивирование перед передачей смены, чтобы коллеги в следующем часовом поясе получили журналы и тестовую сборку.

Арендовать узел на востоке США

Запад США

Доступно

Западное побережье Северной Америки

Часовой пояс команды
UTC−8~−7
Ориентир по региону
25~35 ms

Подходит для команд, работающих по времени западного побережья Северной Америки. Проверяйте получение кода из репозитория, загрузку зависимостей и отправку артефактов вместе — одной лишь скорости удалённого рабочего стола недостаточно.

Арендовать узел на западе США

Часовые пояса указаны для планирования совместной работы; в некоторых регионах они меняются в зависимости от сезона. Фактическая задержка зависит от вашего местоположения, оператора и сетевого маршрута. Актуальную доступность площадок проверяйте в консоли.

Как разработчики описывают передачу сборки

Опишите задачу конкретно — так проще понять, стоит ли арендовать эту машину. Ниже — три примера использования.

Мы перенесли ночные nightly-сборки с MacBook коллеги на узел в Токио — к началу рабочего дня IPA уже лежит в TestFlight.
Руководитель мобильной разработки · nightly-сборки
M4 Pro с 64GB памяти собирает Fastlane и UI-тесты с первого раза — больше не нужно ждать своей очереди на общем runner.
Инженер CI для iOS · параллельные тесты
Провожу локальные эксперименты с инференсом модели 7B, беру машину на неделю и отключаю аренду — расходы понятны заранее.
Независимый разработчик · эксперименты с инференсом

Два способа оплаты, расчёты только в долларах США

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

USDT-TRC20Сверьте сеть и сумму по инструкциям в заказе
Visa / Mastercard / AmexОбработка через Stripe

Все платежи проводятся в долларах США (USD); доступный способ оплаты определяется ответом платёжного шлюза. Данные карты обрабатывает Stripe, сайт их не хранит. После оплаты в консоли доступны заказ, статус подготовки машины, счета и продление аренды. Там же можно создать обращение в поддержку по техническому вопросу.

Дополнительный диск оплачивается за срок аренды

DerivedData, кэш SPM и образы симуляторов постепенно занимают место. Разделите кэш, который можно пересоздать, и архивы, которые нужно сохранить, прежде чем выбирать объём дополнительного диска.

Внешний SSD подойдёт для кэша сборок и крупных ресурсов. До окончания аренды скопируйте нужный исходный код, архивы и журналы в своё хранилище — не используйте дополнительный диск как единственную резервную копию.

Полная стоимость дополнительных опций

+1TB SSD

Для DerivedData и кэша SPM

$10.4в месяц$2.1в день

+2TB SSD

Для образов нескольких версий симуляторов и хранения архивов

$20.8в месяц$4.2в день

Параллельное подключение Thunderbolt 5 (за машину)

Перед совместной работой нескольких M4 Pro проверьте схему подключения и распределение задач

$8.8в месяц$1.8в день

Заметки о сборке

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

Частые вопросы перед заказом

Сначала уточним, как устроены машина, инструменты и передача данных.

Это целый Mac или виртуальная машина?

Это целый выделенный физический Mac mini, не виртуальная машина. Процессор, память, диск и кэш сборки не используются совместно с другими клиентами. Доступны графический интерфейс macOS и командная строка. Зависимости проекта, ресурсы подписи и задачи CI команда настраивает самостоятельно.

Какой минимальный срок аренды и что выбрать?

Минимальный срок — день. Конфигурация M4 стоит $20.1в день, конфигурация M4 Pro — $60.3в день. Также доступны ещё три срока: неделя, месяц и квартал. Для разовой проверки инструментов можно взять машину на день, для релизного спринта сравнить недельную оплату, а для регулярных nightly-сборок — месячную и квартальную. Перед оплатой проверьте срок, сумму и дату окончания аренды в заказе.

Можно подключить GitHub Actions или GitLab Runner?

На машине можно зарегистрировать self-hosted runner или GitLab Runner, а также подключить Jenkins agent. Сначала зафиксируйте версии Xcode и зависимостей, затем настройте lane в Fastlane. Назначайте метки runner только нужным задачам, чтобы несколько архивирований не использовали одну директорию одновременно. Инструкции по подключению и переносу — в разделеПодключение к машине.

Подписанный IPA будет создаваться автоматически после аренды?

Сначала настройте проект и подпись. Подготовьте Scheme, сертификат, профиль provisioning и Export.plist; для загрузки сборки можно использовать App Store Connect API Key. Не добавляйте .p12, закрытые ключи или API Key в общедоступный репозиторий. Сначала вручную проверьте archive и export, затем настройте автоматический запуск — так будет проще находить ошибки.

Что делать с кодом и сертификатами после окончания аренды?

После возврата машины диск безопасно очищается, а система переустанавливается перед передачей следующему клиенту. До окончания аренды сохраните нужные архивы, артефакты и журналы, удалите сертификаты и учётные данные для CI и отзовите ненужные разрешения. Чтобы продолжить пользоваться машиной, проверьте в консоли статус заказа и возможность продления. Не храните единственную копию данных на узле сборки.

Что сообщить поддержке, если первая сборка не удалась?

Создайте обращение в консоли и укажите номер заказа, площадку, версию Xcode, команду для воспроизведения ошибки и последние 50 строк журнала. Уточните, в чём проблема: не удаётся подключиться по SSH, загрузить зависимости, скомпилировать приложение или подписать его, — и опишите последние изменения. Удалите из журналов токены, закрытые ключи и пароли. Также можно написать на support@osxbuild.com.

Следующая сборка — уже в облаке

Выберите конфигурацию и площадку. После подготовки машины подключитесь по SSH и запустите первое архивирование. Доверьте выпуск версий отлаженному процессу — и не ждите, пока освободится Mac.