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