Это известный случай, когда проект iOS создается вручную в Unity без ошибок и не может быть собран на сервере сборки (Unity cloud, Jenkins, TeamCity и другие).Я думаю, что ваш случай похож на это.Потому что если вы посмотрите на процесс сборки сервера для создания приложения Unity, то увидите, что оно также использует команду командной строки
/ Applications / Unity / Unity.app / Contents / MacOS / Unity-quit -batchmode -executeMethod BuildScript.BuildIOS -nographics -buildTarget iOS
Что касается проблемы сервера сборки, решение состоит в том, чтобы поместить все ваши сценарии постобработки в условие #if UNITY_IOS
.И возможно, вы неправильно поняли ошибку, которую получаете.Unity говорит, что не понимает пространство имен XCode
при попытке включить ваш пост-процессный скрипт в вашу сборку.И, конечно, Unity не может включать пространство имен XCode
, потому что оно доступно только в редакторе Unity.
Поэтому попробуйте добавить #if UNITY_IOS
в самом начале вашего источника пост-обработки, даже перед использованием section и #endif
самый конец источника.В этом случае Unity не будет компилировать сценарий пост-обработки на этапе сборки, но вызовет ваш сценарий пост-обработки после создания проекта XCode.
К сожалению, я не смог найти никакой информации, почему руководство и командапроцессы построения линий различаются.