Что можно собирать
Четыре типа задач на одном
выделенном Mac. Арендуйте на день, используйте для своей задачи.
Получив права администратора macOS, продолжайте работать со своими скриптами сборки. Сначала проверьте версии инструментов, материалы для подписи и каталоги кэша, затем перенесите задачи на облачный Mac. Перестраивать конвейер из-за смены машины не нужно.
Автоматическая сборка
xcodebuild · fastlane · gym
Настройте runner для получения коммитов и последовательного выполнения archive, подписи, экспорта и загрузки в TestFlight. Сохраняйте логи ошибок и артефакты сборки в CI — не нужно вручную нажимать кнопки через удалённый рабочий стол.
Сначала проверьте подпись и экспорт на одной задаче, затем настройте предел параллельности. Выделенные ресурсы не означают неограниченный параллелизм: число одновременных archive выбирайте с учётом пикового потребления памяти проектом.
bundle exec fastlane ios release
Тестирование на устройстве
devicectl · Xcode Devices
Физический узел подходит для работы с USB-периферией и отладки устройств через Xcode. Подключение требует физического соединения: смартфон рядом с вами не появится на удалённой машине автоматически. Сначала согласуйте подключение через тикет.
После подключения убедитесь, что устройство распознано, затем проверьте версию системы, настройки подписи и цель тестирования. Тестирование в симуляторе и на реальном устройстве — разные процессы, один не заменяет другой.
xcrun devicectl list devices
Несколько версий Xcode
xcodes · simctl · проверка совместимости
Установите разные версии Xcode для релизных сборок и проверки совместимости. С помощью xcodes проверьте установленные версии, а в переменных окружения задачи задайте каталог разработчика, чтобы переключение версии в другой задаче не затронуло текущий конвейер.
Проверьте совместимость версий Xcode и macOS. Среды выполнения симуляторов, DerivedData и архивы занимают место на SSD — перед установкой новой версии оставьте достаточно места для загрузки и распаковки.
xcodes installed
xcodebuild -version
Эксперименты с AI-инференсом
MLX · унифицированная память
Оцените квантованные модели на Host M4 Pro с 64GB унифицированной памяти. Записывайте размер модели, длину контекста и пиковое потребление памяти, затем сравнивайте пропускную способность: одного факта, что файл модели помещается на диск, недостаточно.
Запланируйте эксперимент на неделю, сохраните скрипты, зависимости и результаты, затем завершите аренду. Если параллельно собираете проект на той же машине, распределите ресурсы заранее, чтобы задачи инференса не вытесняли сборку из памяти.
python -m pip show mlx mlx-lm