このタスクを使用して、macOS 上の Xcode ワークスペースをビルド、テスト、またはアーカイブし、必要に応じてアプリをパッケージ化します。
構文
# 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: Building from the command line with Xcode FAQ」を参照してください。
configuration
-
構成
string。 既定値: $(Configuration).
ビルドする Xcode プロジェクトまたはワークスペースの構成を指定します。 変数を使用する場合は、[Release タブで値 (など) を指定します。
sdk
-
SDKについて
string。 既定値: $(SDK).
Xcode プロジェクトまたはワークスペースをビルドするときに使用する SDK を指定します。 macOS ターミナル アプリケーションから、xcodebuild -showsdks を実行して、SDK の有効な一覧を表示します。 変数を使用する場合は、[iphonesimulator タブで値 (など) を指定します。
xcWorkspacePath
-
ワークスペースまたはプロジェクト パスの
string。 既定値: **/*.xcodeproj/project.xcworkspace.
任意 リポジトリのルートから Xcode ワークスペースまたはプロジェクトへの相対パスを指定します。 たとえば、MyApp/MyApp.xcworkspace や MyApp/MyApp.xcodeprojなどです。 ワイルドカードを使用することができます。 ファイル マッチング パターン の詳細を確認します。
scheme
-
スキーム
string。
任意 Xcode スキーム名を指定します。 共有スキーム である必要があります (Xcode の [マネージド スキームの ] の下の [共有] チェックボックス)。 スキームを指定せず、指定したワークスペースに 1 つの共有スキームがある場合は、ワークスペース スキームが使用されます。
Xcode バージョンのを xcodeVersion - する
string。 使用できる値: 8 (Xcode 8)、9 (Xcode 9)、10 (Xcode 10)、11 (Xcode 11)、12 (Xcode 12)、13 (Xcode 13)、default、specifyPath (パスの指定)。 既定値: default.
Xcode のターゲット バージョンを指定します。 エージェント コンピューターで Xcode の既定のバージョンを使用するには、Default を選択します。 バージョン番号 (Xcode 9など) の指定は、エージェント コンピューター上の環境変数によって設定されるバージョンの場所 (たとえば、XCODE_9_DEVELOPER_DIR=/Applications/Xcode_9.0.0.app/Contents/Developer) に依存します。 Xcode 開発者ディレクトリへの特定のパスを指定するには、Specify path を選択します。
Xcode バージョンのを xcodeVersion - する
string。 使用できる値: 8 (Xcode 8)、9 (Xcode 9)、10 (Xcode 10)、11 (Xcode 11)、default、specifyPath (パスの指定)。 既定値: default.
Xcode のターゲット バージョンを指定します。 エージェント コンピューターで Xcode の既定のバージョンを使用するには、Default を選択します。 バージョン番号 (Xcode 9など) の指定は、エージェント コンピューター上の環境変数によって設定されるバージョンの場所 (たとえば、XCODE_9_DEVELOPER_DIR=/Applications/Xcode_9.0.0.app/Contents/Developer) に依存します。 Xcode 開発者ディレクトリへの特定のパスを指定するには、Specify path を選択します。
Xcode 開発者パスを xcodeDeveloperDir - する
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 を選択して、特定の Export メソッドの と チーム IDを指定します。
exportMethod
-
Export メソッドの
string。
exportOptions == specifyする場合に必要です。 既定値: development.
Xcode がアーカイブのエクスポートに使用するメソッドを指定します。 例: app-store、package、ad-hoc、enterprise、development。
exportTeamId
-
チーム ID
string。 任意
exportOptions == specifyするときに使用します。
エクスポート時に使用する Apple Developer Portal の 10 文字のチーム ID を指定します。
exportOptionsPlist
-
エクスポート オプション plist
string。
exportOptions == plistする場合に必要です。
エクスポート時に使用するオプションを含む plist ファイルへのパスを指定します。
exportArgs
-
引数のエクスポート
string。 任意
packageApp == trueするときに使用します。
エクスポート時に使用される追加のコマンド ライン引数を指定します。
signingOption
-
署名スタイルの
string。 使用できる値: nosign (コード署名しない)、default (プロジェクトの既定値)、manual (手動署名)、auto (自動署名)。 既定値: nosign.
ビルドに署名する方法を指定します。 [Do not code sign を選択して署名を無効にします。 プロジェクトの署名構成のみを使用するには、Project defaults を選択します。
Manual signing を選択して手動署名を強制し、必要に応じて署名 ID とプロビジョニング プロファイルを指定します。
Automatic signing を選択して自動署名を強制し、必要に応じて開発チーム ID を指定します。 プロジェクトで署名が必要な場合は、Apple のインストール... タスクを使用して、Xcode ビルドの前に証明書とプロビジョニング プロファイルをインストールします。
signingIdentity
-
署名 ID
string。 任意
signingOption = manualするときに使用します。
ビルドに署名する署名 ID のオーバーライドを指定します。 エージェント コンピューターで既定のキーチェーンのロックを解除する必要がある場合があります。 値が入力されていない場合は、Xcode プロジェクトの設定が使用されます。
provisioningProfileUuid
-
プロビジョニング プロファイル UUID
string。 任意
signingOption = manualするときに使用します。
ビルドに使用されるインストール済みプロビジョニング プロファイルの UUID を指定します。 異なるスキームまたはターゲットを持つ個別のビルド タスクを使用して、1 つのワークスペース (iOS、tvOS、watchOS) でターゲットごとにプロビジョニング プロファイルを指定します。
provisioningProfileName
-
プロビジョニング プロファイル名の
string。 任意
signingOption = manualするときに使用します。
ビルドに使用されるインストール済みプロビジョニング プロファイルの名前を指定します。 指定した場合、これはプロビジョニング プロファイル UUID よりも優先されます。 異なるスキームまたはターゲットを持つ個別のビルド タスクを使用して、1 つのワークスペース (iOS、tvOS、watchOS) でターゲットごとにプロビジョニング プロファイルを指定します。
teamId
-
チーム ID
string。 任意
signingOption = autoするときに使用します。
複数の開発チームのメンバーである場合は必須です。 10 文字の開発チーム ID を指定します。
destinationPlatformOption
-
Destination プラットフォーム
string。 使用できる値: default、iOS (iOS および watchOS)、tvOS、macOS、custom。 既定値: default.
汎用ビルド デバイスが無効な場合に UI テストに使用される移行先デバイスのプラットフォームを指定します。
Custom 選択して、この一覧に含まれていないプラットフォームを指定します。
Default が選択されている場合、シミュレーターやデバイスは対象とされません。
カスタム変換先プラットフォームの destinationPlatform -
string。 任意
destinationPlatformOption == customするときに使用します。
汎用ビルド デバイスが無効な場合に UI テストに使用される移行先デバイスのプラットフォームを指定します。
Custom 選択して、一覧に含まれていないプラットフォームを指定します。
Default を選択すると、シミュレーターもデバイスも対象とされません。
destinationTypeOption
-
変換先の種類
string。 任意
destinationPlatformOption != default && destinationPlatformOption != macOSするときに使用します。 使用できる値: simulators (シミュレーター)、devices (接続デバイス)。 既定値: simulators.
UI テストに使用する変換先の種類を指定します。 デバイスは、ケーブルまたはネットワーク接続を介してビルドを実行する Mac に接続されている必要があります。 詳細については、「Xcode の デバイスとシミュレーターの」を参照してください。
destinationSimulators
-
シミュレーターの
string。 任意
destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == simulatorsするときに使用します。
UI テストに使用する Xcode シミュレーター名を指定します。 たとえば、iPhone X (iOS と watchOS) や Apple TV 4K (tvOS) などです。 オプションのターゲット OS バージョンは、OS=<versionNumber>など、iPhone X,OS=11.1形式で指定できます。 詳細については、ホスト型 macOS エージェント にインストールされているシミュレーターの 一覧を参照してください。
destinationSimulators
-
シミュレーターの
string。 任意
destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == simulatorsするときに使用します。 既定値: iPhone 7.
UI テストに使用する Xcode シミュレーター名を指定します。 たとえば、iPhone X (iOS と watchOS) や Apple TV 4K (tvOS) などです。 オプションのターゲット OS バージョンは、OS=<versionNumber>など、iPhone X,OS=11.1形式で指定できます。 詳細については、ホスト型 macOS エージェント にインストールされているシミュレーターの 一覧を参照してください。
デバイスの destinationDevices -
string。 任意
destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == devicesするときに使用します。
UI テストに使用するデバイスの名前 (Raisa's iPadなど) を指定します。 現在サポートされているデバイスは 1 つだけです。 Apple では、デバイス名にアポストロフィ (') は使用できません。 代わりに、右一重引用符 (') を使用できます。
args
-
引数
string。
任意 ビルドに使用する追加のコマンド ライン引数を指定します。 この入力は、ワークスペース/プロジェクトとスキームの代わりに -target または -project 引数を指定する場合に便利です。 「Apple: Building from the command line with Xcode FAQ」を参照してください。
workingDirectory
-
作業ディレクトリの
入力エイリアス: cwd。
string。
任意 ビルドを実行する作業ディレクトリを指定します。 値が入力されていない場合は、リポジトリのルートが使用されます。
useXcpretty
-
xcpretty を使用する
boolean。 既定値: true.
xcpretty を使用して出力 xcodebuild 書式設定するかどうかを指定します。
xcpretty エージェント マシンにインストールする必要があります (Azure Pipelines でホストされているビルド エージェントにプレインストールされます)。
xcpretty がインストールされていない場合は、生の xcodebuild 出力が表示されます。 詳細については、xcpretty の を参照してください。
Xcpretty 引数を xcprettyArgs - する
string。 任意
useXcpretty == trueするときに使用します。
xcpretty が有効な場合、この入力は xcprettyの引数を指定します。 GitHub の xcpretty 引数の一覧参照してください。
publishJUnitResults
-
Azure Pipelines にテスト結果を発行する
boolean。 既定値: false.
JUnit テスト結果を Azure Pipelines に発行するかどうかを指定します。 そのためには、JUnit テスト結果を生成するために xcpretty を有効にする必要があります。
testRunTitle
-
テストの実行タイトル
string。 任意
publishJUnitResults == trueするときに使用します。
xcpretty と publishJUnitResults が有効になっている場合は、テスト実行のタイトルを指定できます。
タスク コントロールのオプション
すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「コントロール オプションと一般的なタスク プロパティを参照してください。
出力変数
なし。
注釈
このタスクを使用して、macOS 上の Xcode ワークスペースをビルド、テスト、またはアーカイブし、必要に応じてアプリをパッケージ化します。
複数のプロビジョニング プロファイルの使用
現時点では、Xcode タスクの複数のプロビジョニング プロファイルはサポートされません (iOS アプリ拡張機能など)。
例示
Xcode アプリ をビルドする