Поделиться через


Xcode@5 - Задача Xcode v5

Используйте эту задачу для создания, тестирования или архивации рабочей области Xcode в macOS и при необходимости упаковки приложения.

Синтаксис

# Xcode v5
# Build, test, or archive an Xcode workspace on macOS. Optionally package an app.
- task: Xcode@5
  inputs:
    actions: 'build' # string. Required. Actions. Default: build.
    #configuration: '$(Configuration)' # string. Configuration. Default: $(Configuration).
    #sdk: '$(SDK)' # string. SDK. Default: $(SDK).
    #xcWorkspacePath: '**/*.xcodeproj/project.xcworkspace' # string. Workspace or project path. Default: **/*.xcodeproj/project.xcworkspace.
    #scheme: # string. Scheme. 
    #xcodeVersion: 'default' # '8' | '9' | '10' | '11' | '12' | '13' | 'default' | 'specifyPath'. Xcode version. Default: default.
    #xcodeDeveloperDir: # string. Optional. Use when xcodeVersion == specifyPath. Xcode developer path. 
  # Package options
    #packageApp: false # boolean. Create app package. Default: false.
    #archivePath: # string. Optional. Use when packageApp == true. Archive path. 
    #exportPath: 'output/$(SDK)/$(Configuration)' # string. Optional. Use when packageApp == true. Export path. Default: output/$(SDK)/$(Configuration).
    #exportOptions: 'auto' # 'auto' | 'plist' | 'specify'. Optional. Use when packageApp == true. Export options. Default: auto.
    #exportMethod: 'development' # string. Required when exportOptions == specify. Export method. Default: development.
    #exportTeamId: # string. Optional. Use when exportOptions == specify. Team ID. 
    #exportOptionsPlist: # string. Required when exportOptions == plist. Export options plist. 
    #exportArgs: # string. Optional. Use when packageApp == true. Export arguments. 
  # Signing & provisioning
    #signingOption: 'nosign' # 'nosign' | 'default' | 'manual' | 'auto'. Signing style. Default: nosign.
    #signingIdentity: # string. Optional. Use when signingOption = manual. Signing identity. 
    #provisioningProfileUuid: # string. Optional. Use when signingOption = manual. Provisioning profile UUID. 
    #provisioningProfileName: # string. Optional. Use when signingOption = manual. Provisioning profile name. 
    #teamId: # string. Optional. Use when signingOption = auto. Team ID. 
  # Devices & simulators
    #destinationPlatformOption: 'default' # 'default' | 'iOS' | 'tvOS' | 'macOS' | 'custom'. Destination platform. Default: default.
    #destinationPlatform: # string. Optional. Use when destinationPlatformOption == custom. Custom destination platform. 
    #destinationTypeOption: 'simulators' # 'simulators' | 'devices'. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS. Destination type. Default: simulators.
    #destinationSimulators: # string. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == simulators. Simulator. 
    #destinationDevices: # string. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == devices. Device. 
  # Advanced
    #args: # string. Arguments. 
    #workingDirectory: # string. Alias: cwd. Working directory. 
    #useXcpretty: true # boolean. Use xcpretty. Default: true.
    #xcprettyArgs: # string. Optional. Use when useXcpretty == true. Xcpretty arguments. 
    #publishJUnitResults: false # boolean. Publish test results to Azure Pipelines. Default: false.
    #testRunTitle: # string. Optional. Use when publishJUnitResults == true. Test run title.
# Xcode v5
# Build, test, or archive an Xcode workspace on macOS. Optionally package an app.
- task: Xcode@5
  inputs:
    actions: 'build' # string. Required. Actions. Default: build.
    #configuration: '$(Configuration)' # string. Configuration. Default: $(Configuration).
    #sdk: '$(SDK)' # string. SDK. Default: $(SDK).
    #xcWorkspacePath: '**/*.xcodeproj/project.xcworkspace' # string. Workspace or project path. Default: **/*.xcodeproj/project.xcworkspace.
    #scheme: # string. Scheme. 
    #xcodeVersion: 'default' # '8' | '9' | '10' | '11' | 'default' | 'specifyPath'. Xcode version. Default: default.
    #xcodeDeveloperDir: # string. Optional. Use when xcodeVersion == specifyPath. Xcode developer path. 
  # Package options
    #packageApp: false # boolean. Create app package. Default: false.
    #archivePath: # string. Optional. Use when packageApp == true. Archive path. 
    #exportPath: 'output/$(SDK)/$(Configuration)' # string. Optional. Use when packageApp == true. Export path. Default: output/$(SDK)/$(Configuration).
    #exportOptions: 'auto' # 'auto' | 'plist' | 'specify'. Optional. Use when packageApp == true. Export options. Default: auto.
    #exportMethod: 'development' # string. Required when exportOptions == specify. Export method. Default: development.
    #exportTeamId: # string. Optional. Use when exportOptions == specify. Team ID. 
    #exportOptionsPlist: # string. Required when exportOptions == plist. Export options plist. 
    #exportArgs: # string. Optional. Use when packageApp == true. Export arguments. 
  # Signing & provisioning
    #signingOption: 'nosign' # 'nosign' | 'default' | 'manual' | 'auto'. Signing style. Default: nosign.
    #signingIdentity: # string. Optional. Use when signingOption = manual. Signing identity. 
    #provisioningProfileUuid: # string. Optional. Use when signingOption = manual. Provisioning profile UUID. 
    #provisioningProfileName: # string. Optional. Use when signingOption = manual. Provisioning profile name. 
    #teamId: # string. Optional. Use when signingOption = auto. Team ID. 
  # Devices & simulators
    #destinationPlatformOption: 'default' # 'default' | 'iOS' | 'tvOS' | 'macOS' | 'custom'. Destination platform. Default: default.
    #destinationPlatform: # string. Optional. Use when destinationPlatformOption == custom. Custom destination platform. 
    #destinationTypeOption: 'simulators' # 'simulators' | 'devices'. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS. Destination type. Default: simulators.
    #destinationSimulators: # string. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == simulators. Simulator. 
    #destinationDevices: # string. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == devices. Device. 
  # Advanced
    #args: # string. Arguments. 
    #workingDirectory: # string. Alias: cwd. Working directory. 
    #useXcpretty: true # boolean. Use xcpretty. Default: true.
    #xcprettyArgs: # string. Optional. Use when useXcpretty == true. Xcpretty arguments. 
    #publishJUnitResults: false # boolean. Publish test results to Azure Pipelines. Default: false.
    #testRunTitle: # string. Optional. Use when publishJUnitResults == true. Test run title.
# Xcode v5
# Build, test, or archive an Xcode workspace on macOS. Optionally package an app.
- task: Xcode@5
  inputs:
    actions: 'build' # string. Required. Actions. Default: build.
    #configuration: '$(Configuration)' # string. Configuration. Default: $(Configuration).
    #sdk: '$(SDK)' # string. SDK. Default: $(SDK).
    #xcWorkspacePath: '**/*.xcodeproj/project.xcworkspace' # string. Workspace or project path. Default: **/*.xcodeproj/project.xcworkspace.
    #scheme: # string. Scheme. 
    #xcodeVersion: 'default' # '8' | '9' | '10' | '11' | 'default' | 'specifyPath'. Xcode version. Default: default.
    #xcodeDeveloperDir: # string. Optional. Use when xcodeVersion == specifyPath. Xcode developer path. 
  # Package options
    #packageApp: false # boolean. Create app package. Default: false.
    #archivePath: # string. Optional. Use when packageApp == true. Archive path. 
    #exportPath: 'output/$(SDK)/$(Configuration)' # string. Optional. Use when packageApp == true. Export path. Default: output/$(SDK)/$(Configuration).
    #exportOptions: 'auto' # 'auto' | 'plist' | 'specify'. Optional. Use when packageApp == true. Export options. Default: auto.
    #exportMethod: 'development' # string. Required when exportOptions == specify. Export method. Default: development.
    #exportTeamId: # string. Optional. Use when exportOptions == specify. Team ID. 
    #exportOptionsPlist: # string. Required when exportOptions == plist. Export options plist. 
    #exportArgs: # string. Optional. Use when packageApp == true. Export arguments. 
  # Signing & provisioning
    #signingOption: 'nosign' # 'nosign' | 'default' | 'manual' | 'auto'. Signing style. Default: nosign.
    #signingIdentity: # string. Optional. Use when signingOption = manual. Signing identity. 
    #provisioningProfileUuid: # string. Optional. Use when signingOption = manual. Provisioning profile UUID. 
    #provisioningProfileName: # string. Optional. Use when signingOption = manual. Provisioning profile name. 
    #teamId: # string. Optional. Use when signingOption = auto. Team ID. 
  # Devices & simulators
    #destinationPlatformOption: 'default' # 'default' | 'iOS' | 'tvOS' | 'macOS' | 'custom'. Destination platform. Default: default.
    #destinationPlatform: # string. Optional. Use when destinationPlatformOption == custom. Custom destination platform. 
    #destinationTypeOption: 'simulators' # 'simulators' | 'devices'. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS. Destination type. Default: simulators.
    #destinationSimulators: 'iPhone 7' # string. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == simulators. Simulator. Default: iPhone 7.
    #destinationDevices: # string. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == devices. Device. 
  # Advanced
    #args: # string. Arguments. 
    #workingDirectory: # string. Alias: cwd. Working directory. 
    #useXcpretty: true # boolean. Use xcpretty. Default: true.
    #publishJUnitResults: false # boolean. Publish test results to Azure Pipelines. Default: false.

Входные данные

действия actions -
string. Обязательное. Значение по умолчанию: build.

Задает список действий с разделителями пространства. Некоторые допустимые варианты: build, clean, test, analyzeи archive. Например,clean build выполняет чистую сборку. Смотрите Apple: Сборка из командной строки с помощью Xcode FAQ.


конфигурации configuration -
string. Значение по умолчанию: $(Configuration).

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


пакет SDK sdk -
string. Значение по умолчанию: $(SDK).

Указывает пакет SDK, используемый при создании проекта или рабочей области Xcode. В приложении терминала macOS запустите xcodebuild -showsdks, чтобы отобразить допустимый список пакетов SDK. При использовании переменной укажите значение (например, iphonesimulator) на вкладке переменных.


xcWorkspacePath - рабочей области или пути проекта
string. Значение по умолчанию: **/*.xcodeproj/project.xcworkspace.

Необязательно. Указывает относительный путь из корневого каталога репозитория в рабочую область или проект Xcode. Например, MyApp/MyApp.xcworkspace или MyApp/MyApp.xcodeproj. Подстановочные знаки могут быть использованы. Дополнительные сведения о шаблонах сопоставления файлов.


схемы scheme -
string.

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


xcodeVersion - версии Xcode
string. Допустимые значения: 8 (Xcode 8), 9 (Xcode 9), (Xcode 10), 1110 (Xcode 11), 12 (Xcode 12), 13 (Xcode 13), defaultspecifyPath , (Указать путь). Значение по умолчанию: default.

Указывает целевую версию Xcode. Выберите Default, чтобы использовать версию Xcode по умолчанию на компьютере агента. Указание номера версии (например, Xcode 9) зависит от расположения версии для задания переменными среды на компьютере агента (например, XCODE_9_DEVELOPER_DIR=/Applications/Xcode_9.0.0.app/Contents/Developer). Выберите Specify path, чтобы предоставить определенный путь к каталогу разработчика Xcode.


xcodeVersion - версии Xcode
string. Допустимые значения: 8 (Xcode 8), 9 (Xcode 9), 10 (Xcode 10), 11 (Xcode 11), defaultspecifyPath , (Указать путь). Значение по умолчанию: default.

Указывает целевую версию Xcode. Выберите Default, чтобы использовать версию Xcode по умолчанию на компьютере агента. Указание номера версии (например, Xcode 9) зависит от расположения версии для задания переменными среды на компьютере агента (например, XCODE_9_DEVELOPER_DIR=/Applications/Xcode_9.0.0.app/Contents/Developer). Выберите Specify path, чтобы предоставить определенный путь к каталогу разработчика Xcode.


xcodeDeveloperDir - пути разработчика Xcode
string. Необязательно. Используется при xcodeVersion == specifyPath.

Указывает путь к определенному каталогу разработчика Xcode (например, /Applications/Xcode_9.0.0.app/Contents/Developer). Эти входные данные полезны при установке на компьютере агента нескольких версий Xcode.


packageApp - Создание пакета приложения
boolean. Значение по умолчанию: false.

Указывает, создается ли файл пакета приложения IPA в рамках сборки.


archivePath - пути архивации
string. Необязательно. Используется при packageApp == true.

Указывает каталог, в котором размещаются созданные архивы.


пути экспорта exportPath -
string. Необязательно. Используется при packageApp == true. Значение по умолчанию: output/$(SDK)/$(Configuration).

Указывает место назначения для продукта, экспортированного из архива.


exportOptions - параметры экспорта
string. Необязательно. Используется при packageApp == true. Допустимые значения: auto (автоматически), plist, specify. Значение по умолчанию: auto.

Задает параметры экспорта архива. Если выбрано значение по умолчанию Automatic, метод экспорта автоматически обнаруживается из архива. Выберите Plist, чтобы указать plist-файл, содержащий параметры экспорта. Выберите Specify для предоставления определенного метода экспорта и идентификатора команды.


метода экспорта exportMethod -
string. Требуется, если exportOptions == specify. Значение по умолчанию: development.

Указывает метод, используемый Xcode для экспорта архива. Например, app-store, package, ad-hoc, enterprise или development.


exportTeamId - идентификатор команды
string. Необязательно. Используется при exportOptions == specify.

Указывает идентификатор группы разработчиков Apple 10 символов для использования во время экспорта.


exportOptionsPlist - параметры экспорта plist
string. Требуется, если exportOptions == plist.

Указывает путь к plist-файлу, который содержит параметры, используемые во время экспорта.


exportArgs - Экспорт аргументов
string. Необязательно. Используется при packageApp == true.

Указывает дополнительные аргументы командной строки, используемые во время экспорта.


стиль подписывания signingOption -
string. Допустимые значения: nosign (не подписывание кода), default (по умолчанию project), manual (подписывание вручную), auto (автоматическая подпись). Значение по умолчанию: nosign.

Задает метод подписывания сборки. Выберите Do not code sign, чтобы отключить подписывание. Выберите Project defaults, чтобы использовать только конфигурацию подписывания проекта. Выберите Manual signing, чтобы принудительно подписать вручную и при необходимости указать удостоверение подписи и профиль подготовки. Выберите Automatic signing для принудительной автоматической подписи и при необходимости укажите идентификатор группы разработчиков. Если для проекта требуется подписывание, используйте Установить Apple... задачи для установки сертификатов и профилей подготовки до сборки Xcode.


signingIdentity - удостоверение подписывания
string. Необязательно. Используется при signingOption = manual.

Указывает переопределение удостоверения подписи, с помощью которого необходимо подписать сборку. Возможно, потребуется разблокировать цепочку ключей по умолчанию на компьютере агента. Если значение не введено, используется параметр проекта Xcode.


provisioningProfileUuid - профилей подготовки UUID
string. Необязательно. Используется при signingOption = manual.

Указывает UUID установленного профиля подготовки, используемого для сборки. Используйте отдельные задачи сборки с различными схемами или целевыми объектами для указания профилей подготовки по целевой области (iOS, tvOS, watchOS).


provisioningProfileName - Имя профиля подготовки
string. Необязательно. Используется при signingOption = manual.

Указывает имя установленного профиля подготовки, используемого для сборки. Если указано, оно имеет приоритет над UUID профиля подготовки. Используйте отдельные задачи сборки с различными схемами или целевыми объектами для указания профилей подготовки по целевой области (iOS, tvOS, watchOS).


teamId - идентификатор команды
string. Необязательно. Используется при signingOption = auto.

Требуется, если вы являетесь членом нескольких команд разработки. Указывает идентификатор группы разработки с 10 символами.


платформы назначения destinationPlatformOption -
string. Допустимые значения: default, iOS (iOS и watchOS), tvOS, macOS, custom. Значение по умолчанию: default.

Указывает платформу целевого устройства, используемую для тестирования пользовательского интерфейса, если универсальное устройство сборки недопустимо. Выберите Custom платформу, не включенную в этот список. При выборе Default не предназначены симуляторы или устройства.


destinationPlatform - настраиваемая целевая платформа
string. Необязательно. Используется при destinationPlatformOption == custom.

Указывает платформу целевого устройства, используемую для тестирования пользовательского интерфейса, если универсальное устройство сборки недопустимо. Выберите Custom, чтобы указать платформу, не включенную в список. Когда Default этот параметр выбран, никакие симуляторы или устройства не становятся целевыми.


типа назначения destinationTypeOption -
string. Необязательно. Используется при destinationPlatformOption != default && destinationPlatformOption != macOS. Допустимые значения: simulators (симулятор), devices (подключенное устройство). Значение по умолчанию: simulators.

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


destinationSimulators - симулятор
string. Необязательно. Используется при destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == simulators.

Указывает имя симулятора Xcode, используемое для тестирования пользовательского интерфейса. Например, iPhone X (iOS и watchOS) или Apple TV 4K (tvOS). Необязательная целевая версия ОС может быть указана в формате OS=<versionNumber>, например iPhone X,OS=11.1. Дополнительные сведения см. в этом списке симуляторов, установленных на размещенном агенте macOS .


destinationSimulators - симулятор
string. Необязательно. Используется при destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == simulators. Значение по умолчанию: iPhone 7.

Указывает имя симулятора Xcode, используемое для тестирования пользовательского интерфейса. Например, iPhone X (iOS и watchOS) или Apple TV 4K (tvOS). Необязательная целевая версия ОС может быть указана в формате OS=<versionNumber>, например iPhone X,OS=11.1. Дополнительные сведения см. в этом списке симуляторов, установленных на размещенном агенте macOS .


destinationDevices - устройства
string. Необязательно. Используется при destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == devices.

Указывает имя устройства, используемого для тестирования пользовательского интерфейса, например Raisa's iPad. В настоящее время поддерживается только одно устройство. Обратите внимание, что Apple не допускает апострофов (') в именах устройств. Вместо этого можно использовать правые одинарные кавычки (').


args - аргументы
string.

Необязательно. Указывает дополнительные аргументы командной строки, с помощью которых требуется создать. Эти входные данные полезны для указания -target или -project аргументов вместо рабочей области или проекта и схемы. Смотрите Apple: Сборка из командной строки с помощью Xcode FAQ.


рабочего каталога
Псевдоним ввода: cwd. string.

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


useXcpretty - использование xcpretty
boolean. Значение по умолчанию: true.

Указывает, следует ли использовать формат xcpretty вывода xcodebuild . xcpretty должен быть установлен на компьютере агента (он предустановлен на размещенных агентах сборки Azure Pipelines). Если xcpretty он не установлен, отображается необработанный xcodebuild вывод. Дополнительные сведения см. в xcpretty.


xcprettyArgs - Аргументы Xcpretty
string. Необязательно. Используется при useXcpretty == true.

Если xcpretty включено, то в этом поле указываются аргументы для xcpretty. Смотрите список аргументов xcpretty на GitHub.


publishJUnitResults - Публикация результатов тестов в Azure Pipelines
boolean. Значение по умолчанию: false.

Указывает, следует ли публиковать результаты теста JUnit в Azure Pipelines. Для этого необходимо xcpretty включить генерацию результатов теста JUnit.


testRunTitle - заголовок запуска теста
string. Необязательно. Используется при publishJUnitResults == true.

Если xcpretty и publishJUnitResults включены, вы можете указать название тестового запуска.


Параметры управления задачами

Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.

Выходные переменные

Нет.

Замечания

Используйте эту задачу для создания, тестирования или архивации рабочей области Xcode в macOS и при необходимости упаковки приложения.

Использование нескольких профилей подготовки

В настоящее время не поддерживается несколько профилей подготовки для задачи Xcode (например, для расширения приложения iOS).

Примеры

Создайте свое приложение Xcode

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка
Выполняется в Агент, DeploymentGroup
Требования Локальные агенты должны иметь возможности, которые соответствуют следующим требованиям требуют выполнения заданий, использующих эту задачу: xcode
Возможности Эта задача не удовлетворяет требованиям к последующим задачам в задании.
ограничения команд Любое
переменные settable Любое
Версия агента Все поддерживаемые версии агента.
Категория задач Строить