Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: append Missing parameters

...

XCode Builder configuration parameters

Parameter

Pipeline Parameter

Since version

Description

Targettarget1.0The target to build. If left empty, this will build all targets in the project. If you wish to build your binary and the unit test module, it is best to do this as two separate steps each with their own target. This was, the iPhone Simulator SDK can be specified for the unit tests.
Interpret As Regular ExpressioninterpretTargetAsRegEx1.4Build all entries listed under the "Targets:" section of the xcodebuild -list output that match the regexp.     

Clean before build?

cleanBeforeBuild

1.0

This will delete the build directories before invoking the build. This will force the rebuilding of ALL dependencies and can make large projects take a lot longer.

Allow failing build results?allowFailingBuildResults1.4Checking this option will prevent this build step from failing if xcodebuild exits with a non-zero return code.
Generate Archive?generateArchive2.0Checking this option will generate an xcarchive of the specified scheme. A workspace and scheme are are also needed for archives.
No Console Log?noConsoleLog2.0.1Checking this option will not log xcode build output to console output.
Logfile Output directorylogfileOutputDirectory2.0.1Specify the directory to output the log of xcodebuild.
If you leave it blank, it will be output to "project directory/builds/${BUILD_NUMBER}/log" with other logs.
If an output path is specified, it is output as a xcodebuild.log file in a relative directory under the "build output directory" 
Configurationconfiguration1.0This is the name of the configuration as defined in the XCode project. By default there are Debug and Release configurations.

Pack application, build and sign .ipa?

buildIpa

1.0

The target to build. If left empty, this will build all targets in the project. If you wish to build your binary and the unit test module, it is best to do this as two separate steps each with their own target. This was, the iPhone Simulator SDK can be specified for the unit tests.

ipaExportMethodipaExportMethod1.4The export method of the .app to generate the .ipa file. Should be one in 'development', 'ad-hoc', 'enterprise' or 'app-store'.
.ipa filename patternipaName1.4A pattern for the ipa file name. You may use ${VERSION} and ${BUILD_DATE} (yyyy.MM.dd) in this string
Output directoryipaOutputDirectory1.4The output directory for the .ipa file, relative to the build directory.
Manifest Plist URLipaManifestPlistUrl1.5

The base URL to use to create a Manifest Plist. If omitted no Manifest Plist will be generated.

Manual signing?manualSigning2.0.1For this option you need to manually specify the combination of Provisioning profile UUID and BundleID.
This will be useful if you want to change the combination of Provisioning Profile and Certificate used for CodeSign when you build the application.
Development Team2.0.1developmentTeamName1.4

The name of the configured development team to use to sign the package. As of XCode 8.3, this is required now to sign an ipa (which now uses xcodebuilder).

A development team can be configured here by specifying a Development Team ID, or by creating one in the jenkins global configuration.

Development Team ID2.0.1developmentTeamID1.4The ID of the Apple development team to use to sign the IPA If 'Development Team' is not selected.
Provisioning Profiles Bundle ID

provisioningProfiles: [
provisioningProfileAppId:]

2.0.1The bundle identifier (App ID) for this provisioning profile.
Provisioning profiles UUID

provisioningProfiles: [
provisioningProfileUUID]

2.0.1The UUID of the provisioning profile associated to this bundle identifier.
Change bundle ID?changeBundleID1.4

Checking this option will replace the bundle identifier. 
You will need to specify which bundle ID (CFBundleIdentifier) to use and where is the Info.plist file located.
This is handy for example when you want to use a different code signing identity in your development projects.

New bundle IDbundleID1.4

The new bundle ID. Usually something like com.companyname.projectname.

Info.plist pathbundleIDInfoPlistPath1.4

The path to the info.plist file which contains the CFBundleIdentifier of your project.
Usually something like:

${WORKSPACE}/ProjectName/Project-Info.plist

Development Team
Unlock Keychain?unlockKeychain1.4

The name of the configured development team to use to sign the package. As of XCode 8.3, this is required now to sign an ipa (which now uses xcodebuilder).

A development team can be configured here by specifying a Development Team ID, or by creating one in the jenkins global configuration

Development Team ID0Automatically unlock the keychain before signing the archive?
Keychain namekeychainName1.4The ID name of the Apple development team configured keychain to use to retrieve certificates to sign the IPA If 'Development Team' is not selectedpackage.
Unlock Keychain ?path1.0Automatically unlock the keychain before signing the archive?Keychain pathkeychainPath1.0The path of the keychain to use to retrieve certificates to sign the package (default : ${HOME}/Library/Keychains/login.keychain).
Keychain passwordkeychainPwd1.0The password of the keychain to use to retrieve certificates to sign the package.
Clean test reports?cleanTestReports1.3This will delete the processed test reports before invoking the build. Usually it is a good idea only to do it in test targets, otherwise if other Xcode target is built before tests – the build will fail to collect test reports.

Xcode Schema File

xcodeSchema

1.2

Only needed if you want to compile for a specific schema instead of a target. It takes precedence over 'Xcode Configuration' setting and this job 'target' parameter.

SDK

sdk

1.0

You only need to supply this value if you want to specify the SDK to build against. If empty, the SDK will be determined by XCode. If you wish to run OCUnit tests, you will need to use the iPhone Simulator's SDK, for example: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.1.sdk/

SYMROOT

symRoot

1.1

You only need to supply this value if you want to specify the SYMROOT path to use. If empty, the default SYMROOT path will be used (it could be different depending of your Xcode version). Supports all macros and also environment and build variables from the Token Macro Plugin. For example you can use the value : ${WORKSPACE}/build

Custom xcodebuild arguments

xcodebuildArguments

1.3

Passing custom arguments is convenient when you need to change some project options for Jenkins build, but don't want them to persist in project file. For example when running application tests, following settings often are nice fit: GCC_SYMBOLS_PRIVATE_EXTERN=NO COPY_PHASE_STRIP=NO. Otherwise Release build will usually fail because it won't be able to find application symbols to link with test bundle. Arguments are currently separated by space, enclosing them in quotes won't help.

Xcode Workspace File

xcodeWorkspaceFile

1.2

Only needed if you want to compile a workspace instead of a project. It takes precedence over 'Xcode Project File' setting and this job 'configuration' parameter."

Xcode Project Directory

xcodeProjectPath

1.0

This is the relative path from the workspace to the directory that contains the XCode project file. You only need to supply this value if the XCode project you wish to build is not in the root of the workspace.

Xcode Project File

xcodeProjectFile

1.0

If there is more than one XCode project file in the project path, you will need to specify the file name of the project you wish to build. If you need to build all project, you will need to create an XCode build step for each one manually.

Build output directory

buildDir

1.2

The value to use for CONFIGURATION_BUILD_DIR setting (BUILD_DIR in >= 2.0.0). You only need to supply this value if you want the product of the XCode build to be in a location other than the one specified in project settings and this job 'SYMROOT' parameter. Supports all macros and also environment and build variables from the Token Macro Plugin. For example you can use the value : ${WORKSPACE}/build

Provide version number and run avgtool?provideApplicationVersion1.4Provide version number and run avgtool before invoking the build.

Marketing version

cfBundleShortVersionStringValue

1.0

This will set the CFBundleShortVersionString to the specified string. Supports all macros and also environment and build variables from the Token Macro Plugin.

Technical version

cfBundleVersionValue

1.0

This will set the CFBundleVersion to the specified string. Supports all macros and also environment and build variables from the Token Macro Plugin. For example the value ${BUILD_NUMBER} will be replaced with the current build number. We advice you to generate a unique value for each build if you want for example deploy it into a private store. In that case you can use for example : ${JOB_NAME}-${BUILD_NUMBER}

...