Рабочая область xcodebuild

Я немного запутался относительно того, что происходит с инструментом командной строки xcodebuild, когда вы указываете рабочее пространство и схему.

Я понимаю, как настроенная схема работает в GUI XCode IDE. В действии сборки перечислены цели для сборки и для каждого действия ( "Анализ, тестирование", "Выполнить", "Профиль", "Архив" ), вы выбираете, для чего нужно выполнить действие сборки.

Итак, если у меня есть каждое действие (анализ, тест, запуск, профиль, архив), выбранное в действии сборки для построения, что происходит, когда я выполняю приведенную ниже команду.

xcodebuild clean install -workspace MyWorkspace.xcworkspace -scheme MyScheme 
-configuration AdHoc SYMROOT=PATH DSTROOT=PATH...

Он ищет MyScheme.xcscheme в основном xcodeproj, который имеет всю эту конфигурацию, указанную при редактировании схемы в XCode.

Что читает xcodebuild из этого файла? Разве он просто создает настроенную цель с конфигурацией AdHoc и игнорирует все остальное?

Ответы

Ответ 1

Вы почти там, но ваш синтаксис немного выключен. В соответствии с справочная страница:

xcodebuild -workspace workspacename -scheme schemename [-configuration configurationname]                 [-sdk [sdkfullpath | sdkname]] [buildaction...] [setting = value...]                 [-userdefault = value...]

Где buildaction является одним из следующих:

buildaction...            Укажите действие сборки (или действия) для выполнения на цели. Доступные действия сборки:

       build       Build the target in the build root (SYMROOT).  This is the default build action.

       archive     Archive a scheme from the build root (SYMROOT).  This requires specifying a scheme.

       test        Test a scheme from the build root (SYMROOT).  This requires specifying a scheme.

       installsrc  Copy the source of the project to the source root (SRCROOT).

       install     Build the target and install it into the target installation directory in the dis-
                   tribution root (DSTROOT).

       clean       Remove build products and intermediate files from the build root (SYMROOT).

В Xcode IDE вы выбираете конструкцию для запуска через меню Product или нажатием и удерживанием круглой кнопки в левом верхнем углу IDE (Run = Play triangle, Test = значок гаечного ключа и т.д.).

Также обратите внимание на , где xcodebuild ищет вашу схему сборки - она ​​может быть либо в вашем .xcproj, либо в вашем файле .xcworkspace, в зависимости от того, какой из них вы создали. (Если вы не создали вручную рабочее пространство, у вас будет файл .xcproj).

Вы также можете узнать, какие схемы вы используете в настройках "Управление схемами" в Xcode.