XamariniOS@2 - Xamarin.iOS v2 task

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.


# Xamarin.iOS v2
# Build an iOS app with Xamarin on macOS.
- task: XamariniOS@2
    solutionFile: '**/*.sln' # string. Alias: solution. Required. Solution. Default: **/*.sln.
    configuration: 'Release' # string. Required. Configuration. Default: Release.
    #clean: false # boolean. Clean. Default: false.
    #packageApp: true # boolean. Create app package. Default: true.
    #buildForSimulator: false # boolean. Alias: forSimulator. Build for iOS Simulator. Default: false.
  # Advanced
    #runNugetRestore: false # boolean. Run NuGet restore. Default: false.
    #args: # string. Arguments. 
    #workingDirectory: # string. Alias: cwd. Working directory. 
    #mdtoolFile: # string. Alias: buildToolLocation | mdtoolLocation. Build tool path. 
  # Signing & Provisioning
    #signingIdentity: # string. Alias: iosSigningIdentity. Signing identity. 
    #signingProvisioningProfileID: # string. Alias: provProfileUuid. Provisioning profile UUID.


solutionFile - Solution
Input alias: solution. string. Required. Default value: **/*.sln.

Specifies the relative path from the repository root of the Xamarin.iOS solution or csproj project to the build. May contain wildcards.

configuration - Configuration
string. Required. Default value: Release.

Specifies the configuration. Standard configurations are Ad-Hoc, AppStore, Debug, and Release.

clean - Clean
boolean. Default value: false.

Optional. Runs a clean build (/t:clean) prior to the build.

packageApp - Create app package
boolean. Default value: true.

If set to true, generates an IPA as a part of the build.

buildForSimulator - Build for iOS Simulator
Input alias: forSimulator. boolean. Default value: false.

Optional. Builds for the iOS Simulator instead of physical iOS devices.

runNugetRestore - Run NuGet restore
boolean. Default value: false.

Runs nuget restore on the Xamarin iOS solution to install all referenced packages before the build. The nuget tool in the PATH of the build agent machine is used. To use a different version of NuGet or set additional arguments, use the NuGet Installer Task.

args - Arguments

Optional. Specifies additional command line arguments that are used to build.

workingDirectory - Working directory
Input alias: cwd. string.

Optional. Specifies the working directory in which builds will run. If the value is empty, the root of the repository is used.

mdtoolFile - Build tool path
Input alias: buildToolLocation | mdtoolLocation. string.

Optional. Supplies the path to xbuild (the Xamarin Studio mono build tool) or MSBuild (the Visual Studio for Mac build tool). If the value is empty, the default xbuild or MSBuild path is used.

signingIdentity - Signing identity
Input alias: iosSigningIdentity. string.

Optional. Overrides the signing identity that will be used to sign the build. If the value is empty, the setting in the Xcode project will be used. You may need to select signingUnlockDefaultKeychain if you use this option.

signingProvisioningProfileID - Provisioning profile UUID
Input alias: provProfileUuid. string.

Optional. Specifies the UUID of an installed provisioning profile override to be used for this build.

Task control options

All tasks have control options in addition to their task inputs. For more information, see Control options and common task properties.

Output variables



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.

What's new in this task version

  • iOS signing set up has been removed from the task. Use Secure Files with supporting tasks Install Apple Certificate and Install Apple Provisioning Profile to setup signing. Updated options to work better with Visual Studio for Mac.



Requirement Description
Pipeline types YAML, Classic build
Runs on Agent, DeploymentGroup
Demands Self-hosted agents must have capabilities that match the following demands to run jobs that use this task: Xamarin.iOS
Capabilities This task does not satisfy any demands for subsequent tasks in the job.
Command restrictions Any
Settable variables Any
Agent version All supported agent versions.
Task category Build