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

ArgumentDescription
Solution(Required) Relative path from the repository root of the Xamarin.iOS solution or csproj project to build. May contain wildcards.
Configuration(Required) Standard configurations are Ad-Hoc, AppStore, Debug, Release.
Clean(Optional) Run a clean build (/t:clean) prior to the build.
Create app package(Required) Indicates whether an IPA should be generated as a part of the build.
Build for iOS Simulator(Optional) Optionally build for the iOS Simulator instead of physical iOS devices.
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.
Arguments(Optional) Additional command line arguments that should be used to build.
Working directory(Optional) Working directory in which builds will run. When empty, the root of the repository is used.
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.
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.
Provisioning profile UUID(Optional) Optional UUID of an installed provisioning profile to be used for this build.
Control options

Example

Build your Xamarin app

Open source

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.

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.