Xcode Build task
Azure Pipelines | TFS 2018 | TFS 2017 | TFS 2015
Use this task in a build or release pipeline to build an Xcode workspace on macOS.
Space-delimited list of actions. Valid options are
The default value is
The default value is
|Workspace Path||(Optional) Relative path from repo root to where the xcworkspace folder exists. If you specify a value, you must also specify the Scheme. Do not specify a value if you are specifying the -target flag in Advanced, Arguments (described below).|
|Scheme||(Optional, unless you specify the Workspace Path, described above.) Scheme name in Xcode. Must be a shared scheme (with shared check box under managed schemes in Xcode selected).|
|Create App Package||Select if you want to create an .IPA app package file.|
|(Optional) Signing & Provisioning|
|Xcode 8 Automatic Signing||Select this if you have an Xcode 8 project setup for Automatic Signing.|
|Team ID||(Optional) Specify the 10 digit developer Team ID. This is required if you are a member of multiple development teams.|
|Override Using (Optional)||
If the build should use a signing or provisioning method that is different than the default, choose that method here.
Choose File Contents to use a P12 certificate and provisioning profile. Choose Identifiers to retrieve signing settings from the default Keychain and pre-installed profiles.
Leave the corresponding fields blank if you do not wish to override default build settings.
|P12 Certificate File||Relative path to a PKCS12-formatted .p12 certificate file that contains a signing certificate to be used for this build.|
Password to the .p12 file.
Important: Use a secret variable to avoid exposing this value.
|Provisioning Profile File||Relative path to .mobileprovision file that contains the provisioning profile override to be used for this build.|
|Remove Profile After Build||
Select if you want the contents of the provisioning profile file to be removed from the build agent after the build is complete.
Important: Select only if you are running one agent per user.
|Archive Path||Optionally specify a directory where created archives should be placed.|
|Export Path||Optionally specify the destination for the product exported from the archive.|
Pick a way to pass in Export Options when exporting the archive. The task automatically detects the export method from the archive when the default
|Export Method||Method for how Xcode should export the archive. E.g. app-store, package, ad-hoc, enterprise, development.|
|Team ID||The 10 digit Team ID from the Apple Developer Portal to use for this export.|
|Export Options Plist||Path to a plist file that configures archive exporting.|
|Arguments||(Optional) Specify additional command-line arguments for this build. See Apple: Building from the command line with Xcode FAQ.|
|Working Directory||Working directory for the build. If you leave it blank, it is the root of the repo.|
|Output Directory||Relative path where build output (binaries) will be placed. The default value includes build variables. Make sure to specify values on the variables tab.|
|Xcode Developer Path||
(Optional) Path to Xcode Developer folder if you are not using the system default. Specify this argument when you've got multiple versions of Xcode installed your build agent. For example:
Use xcpretty to format xcodebuild output and generate JUnit test results report. You must have xcpretty installed on the agent.
If you select this option, make sure that Use xctool is cleared.
|Publish to Azure Pipelines/TFS||If you have selected Use xcpretty (described above), select this option if you want to publish JUnit Test results to Azure Pipelines/TFS.|
Select if you want to run xctool instead of xcodebuild. You must have xctool installed on the agent.
If you select this option, make sure that Use xcpretty is cleared.
|xctool Test Reporter Format||
You can specify this argument if you have selected Use xctool and included
This task is open source on GitHub. Feedback and contributions are welcome.
Q & A
Do I need an agent?
You need at least one agent to run your build or release. Get an agent for Linux, macOS, or Windows.
I can't select a default agent pool and I can't queue my build or release. How do I fix this?
See Agent pools.