Аккаунт и оплата
Проверьте адрес электронной почты в заказе, срок аренды и статус счёта. Перед продлением уточните экземпляр и период; после оплаты ориентируйтесь на результат, отображаемый в консоли.
Проверьте подключение, инструменты, подпись и оплату. Сначала сверьтесь с командами и ограничениями ниже. Если проблему решить не удалось, передайте специалистам данные узла и журналы без конфиденциальной информации.
Если вопрос касается уже арендованного узла, отправьте заявку из аккаунта, на который оформлен заказ. Так мы сможем проверить данные экземпляра и счёта.
Выберите раздел, соответствующий месту сбоя. Не нужно сразу менять весь конвейер сборки: сначала проверьте, проходит ли минимальный тестовый сценарий.
Проверьте адрес электронной почты в заказе, срок аренды и статус счёта. Перед продлением уточните экземпляр и период; после оплаты ориентируйтесь на результат, отображаемый в консоли.
Сначала выясните, что именно не работает: подключение по SSH, аутентификация или графический интерфейс. Запишите точный текст ошибки и не вставляйте пароль в заявку.
Сначала проверьте текущую папку разработчика, затем сертификат с закрытым ключом, профиль подготовки и настройки Target. Проверяйте инструменты и подпись по отдельности.
Проверьте пользователя, от имени которого работает runner, его метки и рабочую папку. Сначала убедитесь, что ручная задача проходит, затем подключайте автоматический запуск и передачу учётных данных.
Разделите исходный код, кэш и ключи. Перед переустановкой сохраните нужные данные за пределами узла и убедитесь, что резервную копию можно восстановить.
Пути, Scheme и названия проектов ниже приведены в примерах команд. Перед запуском замените их данными своего проекта. Операции с правами доступа или сертификатами сначала проверьте на одной тестовой задаче.
Сначала проверьте текущую папку разработчика и версию, а также убедитесь, что нужная версия Xcode установлена. В примере системная папка по умолчанию меняется на /Applications/Xcode.app; для другой версии укажите фактический путь к приложению.
xcode-select -p
xcodebuild -version
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
xcodebuild -version
xcrun --find swift
Системное переключение повлияет на задачи, запущенные после него. Если разным конвейерам нужны разные версии, задавайте DEVELOPER_DIRв окружении каждой задачи, а не меняйте глобальную папку по очереди в двух заданиях.
DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer \
xcodebuild -list -workspace MyApp.xcworkspace
После переключения выведите список Scheme и выполните пробную сборку Archive. Если не хватает компонентов платформы или не завершена первоначальная настройка, сначала запустите нужные инструменты через графический интерфейс macOS, а затем возобновите автоматические задачи.
Подготовьте экспортированный сертификат с закрытым ключом, пароль к файлу и профиль подготовки, соответствующий идентификатору приложения и способу распространения. Один сертификат без связанного закрытого ключа обычно не позволяет подписать приложение.
security find-identity -v -p codesigning
Окружение связки ключей у пользователя CI может отличаться от окружения пользователя удалённого рабочего стола. Для сборки без участия пользователя настройте в задаче разблокировку связки ключей и необходимые права доступа. Получайте пароль из защищённой переменной CI; не записывайте его в репозиторий, вывод команд или заявку.
Если ручная сборка проходит, а CI завершается с ошибкой, в первую очередь сравните пользователя, от имени которого выполняются задачи, и состояние связки ключей. При сообщении об ошибке подписи укажите только тип сертификата, срок действия и текст ошибки без конфиденциальных данных. Не загружайте закрытый ключ или пароль от сертификата.
Не рассчитывайте, что переустановка сохранит файлы. При ней могут быть удалены система и рабочая папка. До отправки запроса через консоль уточните объём работ и сохраните резервную копию за пределами узла. По окончании аренды диск стирается, поэтому использовать узел для восстановления после истечения срока аренды нельзя.
В резервную копию включите неотправленный в репозиторий исходный код, конфигурацию сборки, нужные артефакты, профили подготовки и защищённые материалы с ключами. Кэш DerivedData и каталоги загруженных зависимостей можно создать заново, но первая сборка после восстановления может занять больше времени.
Наличие резервной копии ещё не гарантирует, что её удастся восстановить. Распакуйте её в отдельную папку, проверьте число файлов и важные настройки, убедитесь, что можете получить последний артефакт, и только затем останавливайте задачи на исходном узле. После переустановки заново установите инструменты, восстановите среду подписи и зарегистрируйте runner.
Войдите в аккаунт, на который оформлен заказ, и проверьте в консоли экземпляр, срок аренды и доступные периоды продления. Затем оплатите выставленный счёт. Успешную оплату и новый срок аренды подтверждает актуальный ответ консоли, а не снимок экрана или страница, открытая до закрытия браузера.
Поддерживаются только USDT-TRC20 и Visa / Mastercard / Amex через Stripe. Все платежи проводятся в долларах США; доступные способы оплаты определяются ответом серверного интерфейса. Перед переводом в блокчейне проверьте сеть, сумму и реквизиты получателя. После оплаты картой вернитесь в консоль и проверьте счёт.
Если статус счёта не совпадает со статусом экземпляра, укажите номер заказа, номер счёта и данные для поиска транзакции. Не пытайтесь исправить статус повторной оплатой и не отправляйте в заявке полный номер карты. До окончания аренды сохраните артефакты и нужные файлы: продление не заменяет резервное копирование.
Сначала проверьте в консоли адрес и порт узла, имя пользователя и состояние экземпляра. Отличайте тайм-аут подключения от ошибки аутентификации: в первом случае проверьте доступность сети, во втором — имя пользователя, пароль или ключ. У SSH и VNC разные данные подключения; не используйте их порты взаимозаменяемо.
ssh -v -p PORT USER@HOST
Замените PORTнаUSERиHOST фактическими данными. Если в журнале указано, что отпечаток ключа хоста изменился, сначала выясните причину по надёжной информации в консоли или через заявку. Не отключайте проверку подлинности хоста.
Удалённый рабочий стол подходит для проверки графического интерфейса macOS, связки ключей и настроек Xcode; SSH — для командной строки и CI. Перед отправкой журнала удалите конфиденциальные имена пользователей, адреса и локальные пути, оставив только тип ошибки и последовательность событий.
Проверьте четыре вещи: подключён ли runner, совпадают ли метки задачи, разрешено ли проекту использовать этот runner и от имени нужного ли пользователя работает процесс. Успешная регистрация означает лишь, что runner связан с проектом; это не гарантирует автоматическое назначение ему всех задач.
Сначала запустите тестовую задачу, которая выводит только сведения об инструментах. Проверьте пользователя, папку и версию Xcode, а затем добавьте установку зависимостей и подпись.
whoami
pwd
xcode-select -p
xcodebuild -version
security find-identity -v -p codesigning
Укажите в метках macOS, архитектуру чипа и назначение runner, а в настройках проекта явно выберите его. При первом подключении разрешите запуск только одной задачи. Проверьте, что кэш, связка ключей и папка артефактов не перезаписывают друг друга, и лишь затем постепенно увеличивайте параллелизм. Токен регистрации — это учётные данные: не добавляйте его в заявку или журнал сборки.
Сначала убедитесь, что выбраны нужные workspace, общий Scheme и конфигурация Release. Archive и сборка для симулятора — разные процессы; подпись, архитектуру и параметры экспорта для устройства нужно проверять отдельно.
xcodebuild -list -workspace MyApp.xcworkspace
xcodebuild archive \
-workspace MyApp.xcworkspace \
-scheme MyApp \
-configuration Release \
-destination 'generic/platform=iOS' \
-archivePath build/MyApp.xcarchive
Сохраните первую содержательную ошибку вместе с контекстом, а не только заключительное сообщение о сбое. Отдельно проверьте установку зависимостей, этапы скриптов, подпись и запись на диск. После успешного Archive проверьте экспортированный артефакт: создание архива не означает, что пакет для распространения уже готов.
Сначала проверьте использование диска и состояние задач, затем отделите кэш, который можно создать заново, от артефактов, которые нужно сохранить. Не удаляйте каталог, пока его использует выполняющаяся задача; не считайте исходный код, материалы для подписи или ещё не загруженный Archive кэшем.
df -h
du -sh ~/Library/Developer/Xcode/DerivedData
du -sh ~/Library/Developer/Xcode/Archives
Задайте отдельные правила хранения для кэша и артефактов. После очистки первая компиляция и загрузка зависимостей могут идти медленнее — считайте её проверкой сборки с чистого состояния. Если места постоянно не хватает, сначала оцените рост проекта и артефактов, затем подберите более подходящую конфигурацию или дополнительный SSD.
Восемь распространённых терминов об оборудовании, подключении, сборке и подписи. Указывайте конкретные объекты — так потребуется меньше уточнений.
Узел работает 365 дней в году. Доступность сервиса и результат сборки проекта оцениваются отдельно: истёкший сертификат, ошибки конфигурации проекта или действия пользователя сами по себе не означают, что узел был недоступен.
Месячная гарантия доступности
99.9%
Если месячная доступность ниже гарантированного уровня, срок аренды компенсируется пропорционально периоду недоступности. Для рассмотрения заявки укажите экземпляр, время сбоя и записи о подключении. Специалисты проверят серверные журналы и применимые условия.
На этой странице нет подключённых данных мониторинга узлов, поэтому здесь не показываются ежедневные статусы и гарантированное значение не выдаётся за измеренный результат. Фактические записи о событиях можно проверить через заявку в консоли.
Запишите время начала сбоя и восстановления, указав часовой пояс; сохраните ошибки подключения, результаты повторных попыток и данные затронутого экземпляра. Исключения, включая форс-мажор и действия пользователя, проверяются по условиям обслуживания. Не ограничивайтесь снимком экрана с неудачной сборкой и не рассчитывайте время простоя узла по перебоям в локальной сети.
Если вы уже арендуете узел, отправьте заявку через консоль. По вопросам до покупки, деловым запросам и сообщениям о безопасности пишите на support@xcoderent.com. Эти два канала предназначены для всех обращений в поддержку.
Укажите номер заказа, город размещения узла и конфигурацию. Узлы находятся в Сингапуре, Токио, Сеуле, Гонконге, восточной части США и западной части США. Укажите модель XR Build 16, XR Build 24 или XR Build Pro 64, а не просто «тот Mac для сборки».
Укажите, на каком этапе возникла ошибка, когда она началась и продолжается ли сейчас. Сообщите, меняли ли вы недавно версию Xcode, настройки подписи или конфигурацию runner. Укажите часовой пояс, чтобы сопоставить записи с разных узлов.
Приведите команды без конфиденциальных данных, первую содержательную ошибку и проверки, которые уже выполнили. Не отправляйте закрытые ключи, пароли для входа, токены регистрации или полные данные платёжной карты. Перед отправкой удалите из журналов конфиденциальные пути.
Различайте сбой одного проекта, всех задач и подключение к узлу. Если другие задачи продолжают работать, укажите, какие проходят успешно, а какие завершаются с ошибкой. Это поможет специалистам определить, связана ли проблема с инструментами, проектом или экземпляром.
Статус заявки, запросы дополнительных сведений и ответы поддержки доступны в консоли. Мы не указываем фиксированный срок ответа в минутах, если он не подтверждён. Если вам важно успеть к сроку или оценить время восстановления, сообщите в заявке крайний срок — специалисты оценят его с учётом ситуации. Повторная отправка того же вопроса не добавит данных для диагностики: дополните исходную заявку.
Расскажите об очереди сборок, сроке использования или конкретной ошибке. На странице контактов указано, как подготовить обращение. По вопросам уже оформленного заказа сохраните полную историю диагностики в заявке через консоль.