Для Unity 6.6 победитель зависит от того, что требуется после экспорта: если нужно вручную проверять Xcode-проект, управлять подписью или разбирать сбой публикации, выбирайте удалённый Mac; если сборка уже автоматизирована и проект прошёл проверку совместимости, оценивайте Unity Build Automation. На Windows и Linux можно подготовить iOS-проект Xcode, но завершить локальную сборку приложения без macOS и Xcode нельзя; облачный сервис — отдельный путь, а не исключение из этого ограничения.
Материал предназначен разработчикам Unity 6.6, которые ведут проект на Windows или Linux и выбирают среду для финальной сборки.
Он также пригодится командам, зависящим от нативных плагинов, Xcode-скриптов, ручной подписи или проверки результата перед отправкой.
Последняя проверка: 6 ноября 2026 года. Состояние версии Unity сверено с официальным архивом выпусков, а технические границы — с документацией Unity и Apple, приведённой ниже. В архиве указано, что Unity 6000.6.8f1 опубликована 3 ноября 2026 года; это отметка для проверки актуальности, а не обещание, что конкретный патч подходит любому проекту.
Граница между экспортом и сборкой в Unity 6.6
Можно ли подготовить iOS-сборку на Windows или Linux? Можно подготовить проект Xcode, но это не то же самое, что получить готовое приложение. В документации Unity процесс разделён на генерацию проекта и его последующую сборку средствами Xcode; для локального завершения этого процесса требуется среда macOS с Xcode. Это различие и определяет выбор оборудования: редактор на Windows не заменяет Mac на финальном этапе.
При экспорте Unity формирует файлы проекта, которые затем открывают в Xcode. Там выполняются собственно сборка приложения, настройка параметров проекта и действия, связанные с дальнейшей публикацией. Описание этапов iOS-сборки Unity подтверждает это разделение. Поэтому файл проекта Xcode — промежуточный результат, а не готовый архив для передачи в App Store Connect.
Для разработки на Windows или Linux это означает, что можно продолжить работу с игровым проектом и передать экспорт на Mac. Нельзя, однако, делать вывод, что локальная машина уже выполнила полный цикл iOS-сборки лишь потому, что экспорт завершился без ошибки. На этом этапе ещё могут проявиться проблемы с нативными зависимостями, настройками Xcode, подписью или конфигурацией публикации.
Что происходит после генерации проекта Xcode? Проект нужно собрать в Xcode и проверить полученный результат. Если команда не располагает Mac, она может передать экспорт удалённой машине с macOS либо оценить облачную сборку. В обоих случаях проверяется не абстрактная возможность «собирать Unity», а совместимость конкретного проекта с выбранной цепочкой.
Сценарий с прямой работой в Xcode
Удалённый Mac предпочтителен, если разработчику нужно открыть проект в Xcode, изменить или проверить его настройки, запускать диагностические команды, вручную контролировать подпись либо исследовать причину отказа при архивировании. Такой подход не делает саму сборку автоматически успешной, но оставляет доступ к промежуточным файлам и инструментам, с которыми работает разработчик.
Перед передачей проекта следует убедиться, что удалённая среда соответствует требованиям выбранной версии Unity. В документации Unity по подготовке среды iOS описаны требования к среде разработки и взаимодействию с Xcode. Проверяйте конкретную версию Xcode, которую поддерживает используемый выпуск Unity, а не ориентируйтесь только на формулировку «установлен последний Xcode».
После открытия проекта можно использовать командную строку для первичной проверки состава Xcode-проекта:
xcodebuild -list -project Game.xcodeproj
Пример вывода:
Information about project "Game":
Targets:
Game
UnityFramework
Это лишь проверка того, что Xcode распознаёт проект и его цели сборки. Она не подтверждает корректность сертификатов, профиля подготовки, плагинов или готовность приложения к отправке. Если команда возвращает ошибку, сначала сохраните её целиком вместе с журналом сборки: сообщение часто указывает, не найден ли проект, не распознаётся ли цель или не хватает ли настройки среды.
Прямой доступ особенно полезен при непредсказуемом поведении проекта, когда требуется менять параметры Xcode и сразу проверять результат. Но он не отменяет отдельного контроля прав доступа, хранения секретов и повторяемости процесса. Если подписание выполняется вручную, зафиксируйте, кто имеет доступ к сертификатам и профилям, где хранятся исходники и каким способом команда передаёт готовый архив.
Сценарий с плагинами и Xcode-постобработкой
Проект с нативным плагином требует проверки не только того, собирается ли сцена в Unity, но и того, как зависимость попадает в сгенерированный Xcode-проект. Плагин может включать дополнительные библиотеки, требовать определённые настройки проекта или запускать обработчик после экспорта. Совместимость нельзя подтвердить по одному факту, что плагин доступен в редакторе: проверяется связка конкретного проекта, версии Unity, Xcode и всех подключённых компонентов.
Как собирать Unity-проект, если в нём есть Xcode-постобработка? Сначала выясните, где выполняется скрипт. Обработчик, который меняет проект на стороне Unity при экспорте, и пользовательский скрипт облачной сборки — не обязательно один и тот же этап или одна и та же среда выполнения. Если сборочный путь не вызывает нужный обработчик либо не сохраняет его результат, конечный проект может отличаться от локально подготовленного.
Unity описывает возможности пользовательских сценариев в документации по запуску скриптов во время сборки. Это полезная отправная точка, но доступность механизма сама по себе не гарантирует совместимость любого скрипта с конкретной конфигурацией. Отдельно изучите разбор проблем экспорта Xcode в Unity Build Automation: в нём рассматриваются случаи, когда результат экспорта или его обработка требуют диагностики.
Проверку лучше проводить на одном и том же коммите. Сначала выполните экспорт привычным способом и зафиксируйте ожидаемые изменения проекта Xcode: добавленные фреймворки, параметры сборки, целевые настройки и результат постобработки. Затем запустите выбранный автоматизированный путь и сравните полученный проект и журнал. Если поведение расходится, выясните, на каком именно этапе отличается результат — при экспорте из Unity, выполнении пользовательского сценария или сборке Xcode.
До проверки на проекте не считайте скрипт совместимым только потому, что он успешно отрабатывает на локальной машине. Сравнивайте не только итоговый статус сборки, но и фактическое содержимое проекта Xcode, настройки подписи и полученный архив.
Сценарий с подписью и публикацией
Сборочная среда и право распространять приложение — разные вопросы. Mac или облачный исполнитель предоставляет инструменты и среду для сборки, но сам по себе не выдаёт разрешение на публикацию и не исправляет неверные данные подписи. Владелец проекта должен отдельно проверить, какие учётные данные и профили используются, соответствуют ли они целевому приложению и кто отвечает за передачу результата в App Store Connect.
Для автоматического выпуска Unity Build Automation может оказаться удобен, если параметры сборки и управление необходимыми данными подходят проекту. Если же требуется лично осмотреть настройки Xcode, проверить выбранный профиль или вручную исследовать архив, удалённый Mac даёт более прямой контроль над рабочим проектом. В обоих вариантах ответственность за проверку конфигурации и готовности к распространению остаётся у разработчика.
Перед отправкой изучите требования Apple к созданию профиля подготовки для распространения в App Store и порядок загрузки сборок в App Store Connect. Эти документы описывают разные части процесса: профиль связан с подготовкой подписи, а загрузка — с передачей сборки в App Store Connect. Наличие успешной компиляции не следует трактовать как гарантию, что архив принят или готов к выпуску.
Сценарий с автоматической сборкой
Unity Build Automation стоит оценивать, когда команда хочет передавать проект на удалённую сборку по установленному процессу, а не открывать Xcode для каждого выпуска. Такой вариант может снизить объём ручных действий, но только если подтверждены поддерживаемые конфигурация проекта, версия Unity, доступная версия Xcode, сторонние зависимости и все пользовательские скрипты. Нельзя заранее предполагать, что любой проект перенесётся в облако без изменений.
Для проверки конфигурации используйте инструкцию Unity по настройке iOS-сборки в Build Automation и описание доступных версий Xcode. Сверяйте списки непосредственно перед настройкой: поддержка версии редактора или Xcode может меняться, а факт наличия версии в списке ещё не доказывает совместимость с конкретным плагином.
При подготовке проекта зафиксируйте параметры сборки и выберите один неизменный исходный коммит для сравнительного теста. Запустите сборку, затем проверьте журнал, состав результата и применённые скрипты. Общий обзор конфигураций Build Automation помогает понять место конфигурации в процессе, но детали проекта всё равно нужно проверять отдельно.
Для первичной оценки используйте следующую последовательность:
- Зафиксируйте коммит, версию Unity, активные модули iOS, список плагинов и скриптов обработки Xcode-проекта.
- Подготовьте экспорт Xcode и сохраните контрольный результат, включая сообщения редактора и сформированные файлы проекта.
- Сверьте требования плагинов и проекта с доступными версиями Xcode и возможностями выбранной конфигурации Build Automation.
- Запустите облачную сборку на том же коммите, не меняя одновременно настройки проекта и исходники.
- Изучите полный журнал и проверьте, какие пользовательские обработчики действительно сработали.
- Проверьте созданный результат и подпись по требованиям вашего процесса распространения; отдельно выполните действия загрузки, если они входят в выпуск.
- Повторите проверку после изменения версии Unity, Xcode, плагина или сценария, затрагивающего проект.
Подойдёт ли автоматизация, если задача — только периодически получать сборку? Вероятно, её стоит испытать первой, если команда не должна вручную работать в Xcode и уже подтвердила совместимость проекта. Но окончательное решение принимайте по результату сборки, а не по тому, что конфигурация была успешно создана.
Сравнение путей и выбор по условиям проекта
В таблице сравниваются не гарантированные функции каждого сервиса, а решения, которые следует проверить под конкретный рабочий процесс. Возможности тестирования и подключения устройств зависят от выбранной конфигурации; их нельзя считать доступными во всех вариантах облачной сборки.
| Критерий | Unity Build Automation | Удалённый Mac | Двойная схема |
|---|---|---|---|
| Основной сценарий | Повторяемая автоматическая сборка после проверки совместимости | Прямое управление проектом Xcode и диагностикой | Автоматическая сборка плюс резервный путь для ручной проверки |
| Работа с Xcode | Инструменты доступны в рамках конфигурации и её возможностей; заранее проверяйте, что требуется проекту | Можно открыть Xcode-проект и проверять настройки в самой среде | Автоматизация для штатного пути, Mac — для разбора отклонений |
| Плагины и постобработка | Нужно подтвердить выполнение всех нужных обработчиков и корректность результата | Можно исследовать экспорт и вручную проверять изменения | Подходит, если скрипты проверены в обоих путях |
| Подпись и выпуск | Требуется проверить доступный процесс и полученный результат | Подходит, когда нужен прямой контроль над настройками и архивом | Даёт альтернативу при сбое основного сценария, но требует согласованного процесса |
| Устройства и тестирование | Возможности определяются конкретной конфигурацией; предварительно проверьте ограничения | Возможен прямой рабочий процесс с Xcode, если он нужен проекту и доступен в выбранной среде | Полезна, когда автоматической сборки недостаточно для проверки |
| Подтверждение пригодности | Успешная сборка, проверенные журналы, скрипты, артефакт и подпись | Успешное открытие проекта, сборка, проверка подписи и архива | Подтверждённые результаты для обоих путей |
Правило выбора простое. Если проект проходит автоматическую сборку, не требует ручного изменения Xcode-проекта и не зависит от непроверенных скриптов, начните с Unity Build Automation. Если необходимо напрямую управлять Xcode, разбирать ошибки экспорта или вручную контролировать подпись, выбирайте удалённый Mac. Если выпуск критичен, а проект содержит нестандартную постобработку, сначала проверьте оба варианта на одном коммите и сохраните резервный путь до тех пор, пока не подтвердите все этапы.
Для удалённой среды заранее определите, как команда будет передавать исходники и получать результат, кто имеет доступ к проекту и секретам подписи, а также как будет сохраняться журнал сборки. При выборе можно изучить доступные варианты удалённого Mac в Сингапуре или удалённого Mac в Гонконге, после чего сопоставить их с требованиями доступа и внутренними правилами команды. Регион страницы сам по себе не подтверждает задержку соединения, доступность конкретной конфигурации или пригодность среды для проекта — эти условия требуется проверять отдельно.
Проверка перед фиксацией рабочего процесса
Решение считается обоснованным, когда подтверждены не только запуск сборки, но и нужный команде результат. Перед переходом на постоянный путь проверьте:
- экспортируется ли ожидаемый Xcode-проект на используемой версии Unity;
- доступны ли проекту требуемые версии Xcode и поддерживаемые конфигурации;
- подключаются ли нативные библиотеки и отрабатывают ли Xcode-постобработчики;
- совпадают ли важные настройки проекта между локальным экспортом и удалённой сборкой;
- можно ли воспроизвести подпись, архивирование и загрузку в рамках принятого процесса;
- сохранены ли журналы и сведения о коммите, чтобы повторить или диагностировать сборку;
- предусмотрен ли запасной путь, если обновление редактора, Xcode или плагина нарушит совместимость.
Эти проверки помогают отличить проблему среды от дефекта проекта. Например, успешный экспорт при неудачной сборке Xcode указывает на другой участок цепочки, чем ошибка при добавлении нативной библиотеки. А успешный архив без ожидаемого профиля подписи требует отдельной проверки конфигурации распространения, а не простого повторения экспорта.
Для краткой фиксации результата можно записать сведения в журнал проекта:
Commit: <идентификатор коммита>
Unity: <версия редактора>
Xcode: <версия среды>
Build path: <Unity Build Automation или удалённый Mac>
Export: <результат проверки проекта>
Post-process scripts: <выполнены и проверены / требуют исправления>
Signing and archive: <результат проверки>
Не заполняйте этот журнал предположениями: если этап не проверялся, отметьте его как непроверенный. Это особенно важно при обновлении Unity 6.6: официальный архив показывает текущие выпуски, но совместимость нового патча с плагином и пользовательской постобработкой устанавливается только проверкой проекта.
Если текущая схема требует разрозненных действий вручную, зависит от единственной рабочей машины или затрудняет проверку Xcode-проекта, удалённый Mac может дать более контролируемую среду, чем попытка поддерживать финальную сборку на неподходящей локальной системе. У облачного пути тоже есть свои ограничения: нужно учитывать совместимость скриптов и конфигурации, доступность нужного управления Xcode и то, какие действия остаются на стороне разработчика. Когда требуется именно доступная для ручной проверки среда macOS, можно изучить варианты удалённого Mac в ViewMini и сопоставить их с проверенным рабочим процессом. Если же проект уже стабильно собирается автоматически и прямой доступ к Xcode не нужен, сначала подтвердите совместимость Unity Build Automation — отдельный Mac для такого процесса может оказаться избыточным.
Читайте также
Подготовьте iOS-сборку на удалённом Mac ViewMini
Арендуйте выделенный физический Mac с macOS, чтобы проверить сборку, подпись и зависимости проекта в нужной среде.
