XamariniOS@1 - Xamarin.iOS v1 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.

Syntax

# Xamarin.iOS v1
# Build an iOS app with Xamarin on macOS.
- task: XamariniOS@1
  inputs:
    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: true # boolean. Run NuGet restore. Default: true.
    #args: # string. Arguments. 
    #workingDirectory: # string. Alias: cwd. Working directory. 
    #buildToolOption: 'xbuild' # 'xbuild' | 'msbuild'. Alias: buildTool. Build tool. Default: xbuild.
    #mdtoolFile: # string. Alias: mdtoolLocation. Build tool path. 
  # Signing & Provisioning
    #signingOption: 'file' # 'file' | 'id'. Alias: signMethod. Override using. Default: file.
    #signingIdentity: # string. Alias: iosSigningIdentity. Optional. Use when signMethod = id. Signing identity. 
    #signingUnlockDefaultKeychain: false # boolean. Alias: unlockDefaultKeychain. Optional. Use when signMethod = id. Unlock default keychain. Default: false.
    #signingDefaultKeychainPassword: # string. Alias: defaultKeychainPassword. Optional. Use when signMethod = id. Default keychain password. 
    #signingProvisioningProfileID: # string. Alias: provProfileUuid. Optional. Use when signMethod = id. Provisioning profile UUID. 
    #signingP12File: # string. Alias: p12. Optional. Use when signMethod = file. P12 certificate file. 
    #signingP12Password: # string. Alias: p12pwd. Optional. Use when signMethod = file. P12 password. 
    #signingProvisioningProfileFile: # string. Alias: provProfile. Optional. Use when signMethod = file. Provisioning profile file. 
    #signingRemoveProfile: false # boolean. Alias: removeProfile. Optional. Use when signMethod = file. Remove profile after build. Default: false.

Inputs

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

Specifies the relative path from the repository root of the Xamarin.iOS solution 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: true.

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
string.

Optional. Specifies additional command line arguments that are used to the 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.


buildToolOption - Build tool
Input alias: buildTool. string. Allowed values: xbuild (xbuild (Xamarin Studio)), msbuild (MSBuild (Visual Studio for Mac)). Default value: xbuild.

Specifies the build tools that the task will use.


mdtoolFile - Build tool path
Input alias: 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.


signingOption - Override using
Input alias: signMethod. string. Allowed values: file (File Contents), id (Identifiers). Default value: file.

Use this input if the build uses a signing or provisioning method that is different than the default. Choose file to use a P12 certificate and provisioning profile. Choose id to retrieve signing settings from the default Keychain and pre-installed profiles. Leave the corresponding fields blank if you do not wish to override the default build settings.


signingIdentity - Signing identity
Input alias: iosSigningIdentity. string. Optional. Use when signMethod = id.

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.


signingUnlockDefaultKeychain - Unlock default keychain
Input alias: unlockDefaultKeychain. boolean. Optional. Use when signMethod = id. Default value: false.

Resolves "User interaction is not allowed" errors by unlocking the default keychain.


signingDefaultKeychainPassword - Default keychain password
Input alias: defaultKeychainPassword. string. Optional. Use when signMethod = id.

Specifies the password to unlock the default keychain when signingUnlockDefaultKeychain is set.


signingProvisioningProfileID - Provisioning profile UUID
Input alias: provProfileUuid. string. Optional. Use when signMethod = id.

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


signingP12File - P12 certificate file
Input alias: p12. string. Optional. Use when signMethod = file.

Specifies the relative path to a PKCS12-formatted P12 certificate file containing a signing certificate to be used for this build.


signingP12Password - P12 password
Input alias: p12pwd. string. Optional. Use when signMethod = file.

Specifies the password to the P12 certificate file. Use a build variable to encrypt this value.


signingProvisioningProfileFile - Provisioning profile file
Input alias: provProfile. string. Optional. Use when signMethod = file.

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


signingRemoveProfile - Remove profile after build
Input alias: removeProfile. boolean. Optional. Use when signMethod = file. Default value: false.

Specifies that the contents of the provisioning profile file should be removed from the build agent after the build is complete. Only enable this if you are running one agent per user..


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

None.

Requirements

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