В App Store Connect после загрузки появилась надпись Processing, а TestFlight пока не показывает новую сборку.
Сначала проверьте статус загрузки и запись о доставке: пока указано Processing, не повторяйте загрузку вслепую. Если состояние не меняется дольше срока, обозначенного Apple, сохраните данные сборки и отправьте обратную связь или обратитесь в поддержку; повторная загрузка нужна после Failed и проверки ошибки. Удалённый Mac помогает воспроизвести и проверить локальный процесс, но не ускоряет обработку на стороне Apple.
Этот разбор пригодится независимым разработчикам, которые сами собирают приложение и выпускают тестовые версии.
Он также адресован ответственным за публикацию в небольшой команде, где важно не запутать версии и номера сборок.
Сопровождающим автоматизацию на удалённом Mac он поможет сохранить доказательства до повторного запуска.
Сначала определите, на каком этапе остановилась сборка
Надпись Processing не отвечает на вопрос, где именно возникла задержка, пока не установлено, к какому статусу относится экран. Загрузка бинарного файла, обработка в App Store Connect и доступность сборки в TestFlight — связанные, но разные этапы. Поэтому первое действие — не менять настройки проекта и не нажимать повторную отправку, а открыть запись о конкретной загрузке.
В разделе загрузок сборок App Store Connect проверьте, завершилась ли передача файла и какой результат указан в записи. В официальном описании статусов загрузки Apple разграничивает состояния загрузки, включая Processing, Failed и Complete. Это статус доставки и обработки отправленного файла, а не универсальная оценка готовности приложения к тестированию.
Сопоставьте его со статусом самой сборки в App Store Connect. Справочник Apple по статусам сборок приложения описывает состояния сборки отдельно: на этом уровне могут отображаться дальнейшая обработка и требования, которые не равны ошибке передачи файла.
Для диагностики полезно различать четыре наблюдаемые ситуации:
- Загрузка не завершилась или завершилась ошибкой. Проверьте сообщение в записи доставки и локальный результат команды, которая отправляла архив. Если App Store Connect прямо указывает Failed для загрузки, переходите к анализу ошибки.
- Загрузка завершена, статус всё ещё Processing. Это означает, что обработка не завершилась. Сам статус не доказывает, что локальный архив повреждён или что его требуется отправить заново.
- После обработки появился Failed или сообщение о проблеме сборки. Читайте подробности и определяйте, к какому этапу относится причина. Не исправляйте наугад настройки подписи, если сообщение не указывает на подпись.
- Загрузка отмечена Complete, но сборку не видно тестировщикам. Проверяйте наличие сборки в TestFlight, её назначение группе и состояние доступа тестировщиков: подтверждение обработки само по себе не подтверждает завершение раздачи.
Чтобы не перепутать эти этапы, фиксируйте, где именно отображается Processing. Состояние загрузки находится в записи о доставке; состояние сборки и доступность тестирования нужно смотреть в соответствующих разделах App Store Connect.
Затем решите, ждать ли Processing или обращаться за помощью
Processing означает, что Apple ещё обрабатывает загруженную сборку. Пока статус не превысил границу, обозначенную в документации Apple, повторная отправка не является способом «подтолкнуть» обработку: новый архив не отменит очередь и может усложнить выбор сборки для проверки.
Apple указывает, что Processing дольше 24 часов может свидетельствовать о проблеме; в таком случае следует отправить отзыв через Feedback Assistant или связаться с поддержкой. Это не обещание, что любая сборка должна обрабатываться строго одинаковое время: указанная граница — основание перестать бесконечно ждать и передать информацию поддержке. Точное условие и рекомендуемые действия сверяйте с официальным описанием статусов загрузки.
До обращения сохраните версию приложения, номер сборки, время отправки и актуальное состояние. Добавьте снимок экрана или выгрузку доступной записи доставки. Если загрузка запускалась автоматически, сохраните лог соответствующего задания и его итоговый код. Эти сведения позволят отличить «файл не был передан» от «файл принят, но обработка не обновляется».
Практическое решение по состоянию:
- Если отображается Processing и официальная граница ещё не превышена, наблюдайте за этой записью и не создавайте параллельную загрузку только из-за задержки.
- Если Processing сохраняется дольше срока, указанного Apple, передайте зафиксированные сведения в Feedback Assistant либо поддержку. Не подменяйте это действие серией повторных загрузок.
- Если загрузка получила статус Failed, сначала изучите сообщение об ошибке и устраните подтверждённую причину.
- Если Complete уже установлен, но сборка недоступна тестировщикам, проверьте следующий этап — TestFlight и назначение сборки, а не загружайте тот же архив повторно.
Важно: App Store Connect может показать, что файл доставлен или обработан, но это не означает, что выбранная группа тестирования уже получила доступ. Каждый статус нужно оценивать в том разделе, к которому он относится.
При Failed найдите первое подтверждённое препятствие
После Failed не следует начинать с полной перестройки автоматизации. Откройте сведения о загрузке и разберите ошибки, предупреждения и информационные сообщения. В руководстве Apple по загрузке сборок описаны действия с загрузкой и работа с её результатом; используйте сообщение App Store Connect как основание для выбора исправления.
Идите от первого конкретного сообщения к проверяемому объекту:
- Если App Store Connect сообщает о проблеме с содержимым архива, проверьте, какой именно файл или обязательная часть сборки указана в ошибке.
- Если сообщение касается проверки при загрузке, сопоставьте его с локальным логом команды отправки и результатом формирования архива.
- Если ошибка указывает на требование к приложению или метаданным, проверьте соответствующее поле в App Store Connect, а не только настройки проекта.
- Если сообщение не объясняет причину достаточно ясно, сохраните его целиком и передайте поддержке вместо повторения одной и той же попытки без изменений.
У одной и той же видимой проблемы могут быть разные причины; поэтому текст ошибки важнее предположения о том, что «сломался Xcode», сертификат или сервер. До исправления не удаляйте записи и артефакты, которые могут понадобиться для сравнения. Если автоматизация пишет собственный лог, сохраните команду запуска, выбранный архив и итоговый ответ сервиса, но не включайте в общий файл секреты подписи или учётные данные.
Отдельно проверьте, позволяет ли правило Apple повторно использовать номер сборки в конкретном случае. Документация Apple различает неудачную загрузку и сборку, которая уже была успешно принята: возможность повторного использования номера после Failed нельзя автоматически переносить на любое состояние. Сверьте ситуацию с официальными инструкциями по загрузке сборок. Если причина устранена, а правила повторного использования не подходят к текущей записи, увеличьте номер сборки и отправьте исправленный архив с согласованным номером.
При Complete проверьте готовность именно к тестированию
Complete — не синоним «тестировщики могут установить приложение». После обработки сборка должна появиться в подходящем месте TestFlight, а у тестировщиков должен быть доступ через назначенную группу или соответствующий процесс приглашения. Проверку начинайте с карточки сборки: убедитесь, что выбрана нужная версия и нужный номер, а не более ранняя сборка того же приложения.
Затем просмотрите состояние сборки и ожидающие действия в App Store Connect. Инструкция Apple по просмотру сборок и метаданных помогает проверить сведения о сборке и связанных материалах. Если раздел показывает незавершённое требование, сначала завершите его; повторная загрузка бинарного файла не заменит заполнение отсутствующих данных.
Для внутреннего тестирования проверьте назначение сборки нужным тестировщикам или группе. Если доступ предназначен внешним тестировщикам, отдельно изучите требования к приглашениям и распространению: Apple описывает их в инструкциях по приглашению внешних тестировщиков и добавлению тестировщиков к сборкам. Не делайте вывод о готовности для всех пользователей только по Complete.
Если запись о сборке есть, но нужный тестировщик её не видит, проверьте последовательно: назначена ли сборка выбранной группе, включён ли пользователь в эту группу, завершены ли необходимые действия на стороне App Store Connect и совпадает ли выбранная сборка с ожидаемой версией. На каждом шаге фиксируйте найденное состояние. Так можно определить, остановился ли процесс на распространении, а не вернуться без оснований к исправлению архива.
Перед повторной попыткой соберите проверяемые данные
Удалённый Mac полезен, когда нужно повторить локальную часть выпуска в воспроизводимой среде: собрать проект, запустить команду загрузки, получить лог и проверить, что исправленная версия дошла до App Store Connect. Он не управляет очередью Apple и не может изменить статус уже принятого бинарного файла. Поэтому перенос задания на другой Mac — не решение для Processing, который завис на стороне платформы.
Перед повторным запуском пройдите список и отметьте каждый выполненный пункт:
- [ ] Записаны версия приложения, номер сборки и время отправки.
- [ ] Сохранён точный статус загрузки из App Store Connect и место, где он отображается.
- [ ] Сохранены сведения о доставке и полное сообщение Failed, если оно появилось.
- [ ] Сохранён локальный лог запуска, включая результат команды, но без секретов подписи и токенов.
- [ ] Определено, меняется ли архив, версия или номер сборки; причина изменения подтверждена сообщением либо результатом проверки.
- [ ] Проверено, что предыдущая попытка действительно требует новой загрузки, а не обращения в поддержку или настройки распределения тестировщиков.
- [ ] После исправления отдельно проверены статус загрузки, статус сборки и доступность нужному тестировщику.
Если публикация выполняется через App Store Connect API, сопоставляйте ответ автоматизации с записью в интерфейсе, а не считайте успешное завершение локальной команды подтверждением доступности сборки. Описание ресурса Builds в App Store Connect API пригодится для понимания данных о сборках, доступных через API. В журнале автоматизации важно сохранять идентификаторы и результат операции, но не публиковать ключи, пароли или содержимое сертификатов.
Для аккуратного повторного запуска зафиксируйте исходное состояние, внесите только подтверждённое исправление и проверьте результат в App Store Connect. Если новая загрузка снова получает Failed, сравните сообщение с предыдущим: повтор той же команды без нового диагностического факта не добавляет полезных доказательств. Если же новый архив принят, всё равно проверьте назначение сборки и тестовый доступ отдельно.
Частые вопросы о зависшей обработке
Обработка продолжается больше суток — что делать?
Сверьте длительность с официальным указанием Apple для Processing и проверьте, не изменился ли статус в записи загрузки. Если указанная граница превышена, сохраните версию, номер сборки, время отправки и состояние, затем обратитесь по рекомендованному Apple каналу. Повторная загрузка не заменяет обращение, если проблема относится к уже доставленному файлу.
После Failed можно оставить прежний номер сборки?
Сначала подтвердите, что неудачной была именно загрузка, и прочитайте её подробности. Apple допускает повторное использование номера в предусмотренной документацией ситуации с неудачной загрузкой, но это не следует трактовать как общее правило для сборки, уже принятой системой. Если статус или причина неоднозначны, сохраните запись и уточните правило перед повторной отправкой.
Почему Complete не отображает приложение в TestFlight?
Проверьте, появилась ли сборка в TestFlight и связана ли она с нужной группой. Затем убедитесь, что тестировщик добавлен именно туда и необходимые действия для его типа доступа завершены. Complete относится к обработке загрузки; назначение сборки и разрешение на тестирование проверяются отдельно, поэтому повторная отправка файла часто не затрагивает реальную причину.
Нужно ли переносить задание на другой удалённый Mac?
Перенос имеет смысл, если подтверждённая ошибка находится в локальном проекте, инструментах сборки или выполнении команды отправки и среда нужна для воспроизведения исправления. Если запись App Store Connect уже показывает Processing, другой компьютер не изменит обработку на стороне Apple. Сначала дождитесь обозначенной границы или обратитесь за поддержкой, сохранив состояние и журнал.
Если сбой действительно локальный — например, воспроизводится ошибка сборки или команды отправки, — удалённый Mac может дать отдельную среду для проверки исправления без покупки и обслуживания дополнительного компьютера. Для сравнения доступных вариантов можно посмотреть условия аренды Mac в RUVCLOUD; такая среда помогает повторить процесс, но не устраняет задержку обработки Apple.
Если текущая инфраструктура требует постоянно держать собственный Mac, учитывать его обслуживание и вручную восстанавливать окружение после сбоев, аренда может быть удобнее для временной проверки или запуска отдельной сборки. При этом для длительной непрерывной нагрузки собственный Mac может оказаться подходящим выбором, а для задач с физическими интерфейсами удалённая машина не заменит локальное оборудование. Когда причина задержки всё ещё отображается как Processing, сначала следуйте статусу и каналу поддержки Apple; если же требуется проверить исправленный выпуск в отдельной среде, изучите варианты заказа Mac в RUVCLOUD.