Xcode@4 - Xcode v4 タスク

このタスクを使用して、macOS で Xcode ワークスペースをビルド、テスト、またはアーカイブし、必要に応じてアプリをパッケージ化します。

構文

# 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

アクションのスペース区切りのリストを指定します。 有効なオプションは buildcleantestanalyzearchive です。 たとえば、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 ワークスペースまたはプロジェクトへの相対パスを指定します。 値を指定する場合は、スキームも指定する必要があります。 高度な引数で を指定する場合は、値を -target flag 指定しないでください。 たとえば、MyApp/MyApp.xcworkspace または MyApp/MyApp.xcodeproj です。


scheme - スキーム
string.

省略可能。 Xcode スキーム名を指定します。 共有スキームである必要があります (Xcode の [マネージド スキーム ] の下の [共有] チェックボックス)。 スキームを指定せず、指定したワークスペースに 1 つの共有スキームがある場合は、ワークスペース スキームが使用されます。


xcodeVersion - Xcode のバージョン
string. 使用できる値: 8 (Xcode 8)、 9 (Xcode 9)、 defaultspecifyPath (パスの指定)。 既定値: default

Xcode のターゲット バージョンを指定します。 エージェント コンピューターで Xcode の既定のバージョンを使用する場合に選択 Default します。 バージョン番号を指定する (例: ) は、 Xcode 9エージェント コンピューター上の環境変数によって設定されるバージョンの場所 (例: XCODE_9_DEVELOPER_DIR=/Applications/Xcode_9.0.0.app/Contents/Developer) に依存します。 Xcode 開発者ディレクトリへの特定のパスを指定する場合に選択 Specify path します。


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 します。 特定のエクスポート 方法チーム ID を指定する場合に選択Specifyします。


exportMethod - Export メソッド
string. の場合 exportOptions == specifyは必須です。 既定値: development

Xcode がアーカイブのエクスポートに使用するメソッドを指定します。 例: app-storepackagead-hocenterprisedevelopment


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 とプロビジョニング プロファイルを指定します。 自動署名を強制し、必要に応じて開発チーム ID を指定する場合に選択 Automatic signing します。 プロジェクトに署名が必要な場合は、Xcode ビルドの前に 、Apple... のインストール タスクを使用して証明書とプロビジョニング プロファイルをインストールします。


signingIdentity - 署名 ID
string. 省略可能。 の場合は signingOption = manualを使用します。

ビルドに署名する署名 ID のオーバーライドを指定します。 エージェント コンピューターで既定のキーチェーンのロックを解除する必要がある場合があります。 値が入力されていない場合は、Xcode プロジェクトの設定が使用されます。


provisioningProfileUuid - プロビジョニング プロファイル UUID
string. 省略可能。 の場合は signingOption = manualを使用します。

ビルドに使用されるインストール済みプロビジョニング プロファイルの UUID を指定します。 異なるスキームまたはターゲットを持つ個別のビルド タスクを使用して、1 つのワークスペース (iOS、tvOS、watchOS) のターゲット別にプロビジョニング プロファイルを指定します。


teamId - チーム ID
string. 省略可能。 の場合は signingOption = autoを使用します。

複数の開発チームのメンバーである場合は必須です。 10 文字の開発チーム ID を指定します。


destinationPlatformOption - 移行先プラットフォーム
string. 使用できる値: default、(iOS および watchOS)tvOS、、、macOScustomiOS 既定値: default

汎用ビルド デバイスが無効な場合に UI テストに使用される移行先デバイスのプラットフォームを指定します。 一覧に含まれていないプラットフォームを指定することを選択 Custom します。 が選択されている場合 Default 、シミュレーターやデバイスは対象とされません。


destinationPlatform - カスタム変換先プラットフォーム
string. 省略可能。 の場合は destinationPlatformOption == customを使用します。

汎用ビルド デバイスが無効な場合に UI テストに使用される移行先デバイスのプラットフォームを指定します。


destinationTypeOption - 変換先の種類
string. 省略可能。 の場合は destinationPlatformOption != default && destinationPlatformOption != macOSを使用します。 使用できる値: simulators (シミュレーター)、 devices (接続されているデバイス)。 既定値: simulators

UI テストに使用する変換先の種類を指定します。 デバイスは、ケーブルまたはネットワーク接続を介してビルドを実行する Mac に接続されている必要があります。 詳細については、「Xcode の デバイスとシミュレーター 」を参照してください。


destinationSimulators - シミュレータ
string. 省略可能。 の場合は destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == simulatorsを使用します。 既定値: iPhone 7

UI テストに使用される Xcode シミュレーター名を指定します。 たとえば、 iPhone X (iOS と watchOS) や Apple TV 4K (tvOS) などです。 オプションのターゲット OS バージョンは、 などのiPhone X,OS=11.1形式OS=<versionNumber>で指定できます。 ホスト型 macOS プレビュー エージェントにインストールされているシミュレーターの詳細を確認します。


destinationDevices - デバイス
string. 省略可能。 の場合は destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == devicesを使用します。

などの Raisa's iPadUI テストに使用されるデバイスの名前を指定します。


args - 引数
string.

省略可能。 ビルドに使用する追加のコマンド ライン引数を指定します。 この入力は、ワークスペース/プロジェクトとスキームの代わりに または -project 引数を指定-targetする場合に便利です。 「Apple: Building from the command line with Xcode FAQ」を参照してください。


workingDirectory - 作業ディレクトリ
入力エイリアス: cwdstring.

省略可能。 ビルドを実行する作業ディレクトリを指定します。 値を入力しない場合は、リポジトリのルートが使用されます。


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 に発行するかどうかを指定します。


タスク コントロール のオプション

すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「 コントロール オプションと一般的なタスク プロパティ」を参照してください。

出力変数

[なし] :

解説

このタスクを使用して、macOS で Xcode ワークスペースを構築します。

必要条件

要件 説明
パイプラインの種類 YAML、クラシック ビルド
実行日 エージェント、DeploymentGroup
確認要求 セルフホステッド エージェントには、このタスクを使用するジョブを実行するために、次の要求に一致する機能が必要です。
Capabilities このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。
コマンドの制限 Any
設定可能な変数 Any
エージェントのバージョン サポートされているすべてのエージェント バージョン。
タスクのカテゴリ Build