Xamarin.iOS task
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
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 |
Task control options
Example
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.
My NuGet push task is failing with the following error: "Error: unable to get local issuer certificate". How can I fix this?
This can be fixed by adding a trusted root certificate. You can either add the NODE_EXTRA_CA_CERTS=file
environment variable to your build agent, or you can add the NODE.EXTRA.CA.CERTS=file
task variable in your pipeline. See Node.js documentation for more details about this variable. See Set variables in a pipeline for instructions on setting a variable in your pipeline.
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.