Xamarin.iOS task

Azure Pipelines | Azure DevOps Server 2019 | TFS 2018 | TFS 2017 | TFS 2015

Use this task in a pipeline to build an iOS app with Xamarin on macOS. For more information, see the Xamarin guidance and Sign your app during CI.

Demands

Xamarin.iOS

YAML snippet

# Xamarin.iOS
# Build an iOS app with Xamarin on macOS
- task: XamariniOS@2
  inputs:
    #solutionFile: '**/*.sln' 
    #configuration: 'Release' 
    #clean: false # Optional
    #packageApp: true 
    #buildForSimulator: false # Optional
    #runNugetRestore: false 
    #args: # Optional
    #workingDirectory: # Optional
    #mdtoolFile: # Optional
    #signingIdentity: # Optional
    #signingProvisioningProfileID: # Optional

Arguments

Argument Description
solution
Solution
(Required) Relative path from the repository root of the Xamarin.iOS solution or csproj project to build. May contain wildcards.
Default value: **/*.sln
Argument aliases: solutionFile
configuration
Configuration
(Required) Standard configurations are Ad-Hoc, AppStore, Debug, Release.
Default value: Release
clean
Clean
(Optional) Run a clean build (/t:clean) prior to the build.
Default value: false
packageApp
Create app package
(Required) Indicates whether an IPA should be generated as a part of the build.
Default value: true
forSimulator
Build for iOS Simulator
(Optional) Optionally build for the iOS Simulator instead of physical iOS devices.
Default value: false
Argument aliases: buildForSimulator
runNugetRestore
Run NuGet restore
(Required) Optionally run nuget restore on the Xamarin iOS solution to install all referenced packages before build. The 'nuget' tool in the PATH of the build agent machine will be used. To use a different version of NuGet or set additional arguments, use the NuGet Tool Installer task.
Default value: false
args
Arguments
(Optional) Additional command line arguments that should be used to build.
cwd
Working directory
(Optional) Working directory in which builds will run. When empty, the root of the repository is used.
Argument aliases: workingDirectory
buildToolLocation
Build tool path
(Optional) Optionally supply the full path to MSBuild (the Visual Studio for Mac build tool). When empty, the default MSBuild path is used.
Argument aliases: mdtoolFile, mdtoolLocation
iosSigningIdentity
Signing identity
(Optional) Optionally override the signing identity that will be used to sign the build. If nothing is entered, the setting in the project will be used.
Argument aliases: signingIdentity
provProfileUuid
Provisioning profile UUID
(Optional) Optional UUID of an installed provisioning profile to be used for this build.
Argument aliases: signingProvisioningProfileID
Control options

Example

Build your Xamarin app

Open source

This task is open source on GitHub. Feedback and contributions are welcome.

FAQ

Do I need an agent?

You need at least one agent to run your build or release.

I'm having problems. How can I troubleshoot them?

See Troubleshoot Build and Release.

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.

I use TFS on-premises and I don't see some of these features. Why not?

Some of these features are available only on Azure Pipelines and not yet available on-premises. Some features are available on-premises if you have upgraded to the latest version of TFS.