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


Xcode@4 — задача Xcode версии 4

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

Синтаксис

# Xcode v4
# Build, test, or archive an Xcode workspace on macOS. Optionally package an app.
- task: Xcode@4
  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' | '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. 
    #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. 
    #outputPattern: # string. Output directory. 
    #useXcpretty: false # boolean. Use xcpretty. Default: false.
    #publishJUnitResults: false # boolean. Publish test results to VSTS/TFS. Default: false.

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

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

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


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

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


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

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


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

Необязательный элемент. Указывает относительный путь от корня репозитория к рабочей области или проекту Xcode. Если задано значение, необходимо также указать схему. Не указывайте значение, если вы указываете -target flag в расширенных аргументах. Например, MyApp/MyApp.xcworkspace или MyApp/MyApp.xcodeproj.


scheme - Схема
string.

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


xcodeVersion - Версия Xcode
string. Допустимые значения: 8 (Xcode 8), 9 (Xcode 9), default, specifyPath (укажите путь). Значение по умолчанию: 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 - Метод export
string. Требуется при .exportOptions == specify Значение по умолчанию: development.

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


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

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


exportOptionsPlist - Список параметров экспорта
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).


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

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


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

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


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

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


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

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


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.


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

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


workingDirectory - Рабочий каталог
Входной псевдоним: cwd. string.

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


outputPattern - Выходной каталог
string.

Необязательный элемент. Указывает относительный путь к рабочему каталогу, в котором размещаются выходные данные сборки (двоичные файлы). Пример: output/$(SDK)/$(Configuration) или output/$(TestSDK)/$(TestConfiguration). Пути архивации и экспорта настраиваются отдельно. Укажите значения на вкладке Переменные.


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

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


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

Если xcpretty параметр включен, этот вход указывает, следует ли публиковать результаты теста JUnit в VSTS/TFS.


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

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

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

Нет.

Remarks

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

Примеры

Требования

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