Xcode



  1. In Xcode I can only see the old developer certificate (from the Ad-Hoc profile). I set the app to Release. Iphone xcode certificate app-store submission. Follow edited Nov 11 '10 at 16:21. Asked Nov 11 '10 at 15:35. Testing testing.
  2. This Xcode 11 tutorial will go through all of the major areas and features of the program. By the end of the video, you'll be ready to use Xcode for app deve.
-->

Ansible Role - Xcode. Contribute to macstadium/ansible-role-xcode development by creating an account on GitHub.

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

Use this task to build, test, or archive an Xcode workspace on macOS, and optionally package an app.

Demands

xcode

Arguments

ArgumentDescription
actions
Actions
(Required) Enter a space-delimited list of actions. Valid options are build, clean, test, analyze, and archive. For example, clean build will run a clean build. See Apple: Building from the command line with Xcode FAQ.
Default value: build
configuration
Configuration
(Optional) Enter the Xcode project or workspace configuration to be built. The default value of this field is the variable $(Configuration). When using a variable, make sure to specify a value (for example, Release) on the Variables tab.
Default value: $(Configuration)
sdk
SDK
(Optional) Specify an SDK to use when building the Xcode project or workspace. From the macOS Terminal application, run xcodebuild -showsdks to display the valid list of SDKs. The default value of this field is the variable $(SDK). When using a variable, make sure to specify a value (for example, iphonesimulator) on the Variables tab.
Default value: $(SDK)
xcWorkspacePath
Workspace or project path
(Optional) Enter a relative path from the root of the repository to the Xcode workspace or project. For example, MyApp/MyApp.xcworkspace or MyApp/MyApp.xcodeproj.
Default value: **/*.xcodeproj/project.xcworkspace
scheme
Scheme
(Optional) Enter a scheme name defined in Xcode. It must be a shared scheme, with its Shared checkbox enabled under Managed Schemes in Xcode. If you specify a Workspace or project path above without specifying a scheme, and the workspace has a single shared scheme, it will be automatically used.
xcodeVersion
Xcode version
(Optional) Specify the target version of Xcode. Select Default to use the default version of Xcode on the agent machine. Selecting a version number (e.g. Xcode 10) relies on environment variables being set on the agent machine for the version's location (e.g. XCODE_10_DEVELOPER_DIR=/Applications/Xcode_10.0.0.app/Contents/Developer). Select Specify path to provide a specific path to the Xcode developer directory.
Default value: default
xcodeDeveloperDir
Xcode developer path
(Optional) Enter a path to a specific Xcode developer directory (e.g. /Applications/Xcode_10.0.0.app/Contents/Developer). This is useful when multiple versions of Xcode are installed on the agent machine.
(Optional) Signing & provisioning
signingOption
Signing style
(Optional) Choose the method of signing the build. Select Do not code sign to disable signing. Select Project defaults to use only the project's signing configuration. Select Manual signing to force manual signing and optionally specify a signing identity and provisioning profile. Select Automatic signing to force automatic signing and optionally specify a development team ID. If your project requires signing, use the 'Install Apple...' tasks to install certificates and provisioning profiles prior to the Xcode build.
Default value: nosign
signingIdentity
Signing identity
(Optional) Enter a signing identity override with which to sign the build. This may require unlocking the default keychain on the agent machine. If no value is entered, the Xcode project's setting will be used.
provisioningProfileUuid
Provisioning profile UUID
(Optional) Enter the UUID of an installed provisioning profile to be used for this build. Use separate build tasks with different schemes or targets to specify separate provisioning profiles by target in a single workspace (iOS, tvOS, watchOS).
provisioningProfileName
Provisioning profile name
(Optional) Enter the name of an installed provisioning profile to be used for this build. If specified, this takes precedence over the provisioning profile UUID. Use separate build tasks with different schemes or targets to specify separate provisioning profiles by target in a single workspace (iOS, tvOS, watchOS).
teamId
Team ID
(Optional, unless you are a member of multiple development teams.) Specify the 10-character development team ID.
Package options
packageApp
Create app package
Indicate whether an IPA app package file should be generated as a part of the build.
Default value: false
archivePath
Archive path
(Optional) Specify a directory where created archives should be placed.
exportPath
Export path
(Optional) Specify the destination for the product exported from the archive.
Default value: output/$(SDK)/$(Configuration)
exportOptions
Export options
(Optional) Select a way of providing options for exporting the archive. When the default value of Automatic is selected, the export method is automatically detected from the archive. Select plist to specify a plist file containing export options. Select Specify to provide a specific Export method and Team ID.
Default value: auto
exportMethod
Export method
(Required) Enter the method that Xcode should use to export the archive. For example: app-store, package, ad-hoc, enterprise, or development.
Default value: development
exportTeamId
Team ID
(Optional) Enter the 10-character team ID from the Apple Developer Portal to use during export.
exportOptionsPlist
Export options plist
(Required) Enter the path to the plist file that contains options to use during export.
exportArgs
Export arguments
(Optional) Enter additional command line arguments to be used during export.
Devices & simulators
destinationPlatformOption
Destination platform
(Optional) Select the destination device's platform to be used for UI testing when the generic build device isn't valid. Choose Custom to specify a platform not included in this list. When Default is selected, no simulators nor devices will be targeted.
Default value: default
destinationPlatform
Custom destination platform
(Optional) Select the destination device's platform to be used for UI testing when the generic build device isn't valid. Choose Custom to specify a platform not included in this list. When Default is selected, no simulators nor devices will be targeted.
Default value: default
destinationTypeOption
Destination type
(Optional) Choose the destination type to be used for UI testing. Devices must be connected to the Mac performing the build via a cable or network connection. See Devices and Simulators in Xcode.
Default value: simulators
destinationSimulators
Simulators
(Optional) Enter an Xcode simulator name to be used for UI testing. For example, enter iPhone X (iOS and watchOS) or Apple TV 4K (tvOS). A target OS version is optional and can be specified in the format 'OS=versionNumber', such as iPhone X,OS=11.1. A list of simulators installed on the Hosted macOS agent can be found here.
Default value: iPhone8 for Xcode 11 and iPhone 7 for other iOS projects; Apple TV for tvOS projects.
destinationDevices
Devices
(Optional) Enter the name of the device to be used for UI testing, such as Raisa's iPad. Only one device is currently supported. Note that Apple does not allow apostrophes (') in device names. Instead, right single quotation marks (') can be used.
Advanced
args
Arguments
(Optional) Enter additional command line arguments with which to build. This is useful for specifying -target or -project arguments instead of specifying a workspace/project and scheme. See Apple: Building from the command line with Xcode FAQ.
cwd
Working directory
(Optional) Enter the working directory in which to run the build. If no value is entered, the root of the repository will be used.
Argument aliases: workingDirectory
useXcpretty
Use xcpretty
(Optional) Specify whether to use xcpretty to format xcodebuild output and generate JUnit test results. Enabling this requires xcpretty to be installed on the agent machine. It is preinstalled on Microsoft-hosted build agents. See xcpretty on GitHub.
Default value: true
xcprettyArgs
Arguments for xcpretty
(Optional) If xcpretty is enabled above, specify arguments for xcpretty. See xcpretty on GitHub for a list of xcpretty arguments.
publishJUnitResults
Publish test results to Azure Pipelines/TFS
(Optional) If xcpretty is enabled above, specify whether to publish JUnit test results to Azure Pipelines/TFS.
Default value: false
testRunTitle
Test run title
(Optional) If xcpretty and publishJUnitResults are enabled above, you can specify test run title.
Control options

Example

Open source

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

Using multiple provisioning profiles

Xcode

Currently there's no support of multiple provisioning profiles for Xcode task (for example for iOS App Extension)

Xcode

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?

Apple Developer Download Xcode

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?

Xcode Download

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?

Xcode

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 Environment variables for more details.