The following plugin provides functionality available through Pipeline-compatible steps. Read more about how to integrate steps into your Pipeline in the Steps section of the Pipeline Syntax page.

For a list of other such plugins, see the Pipeline Steps Reference page.

Xcode integration

importDeveloperProfile: Import developer profile

  • profileId
    • Type: String

xcodeBuild: Xcode

  • buildIpa

    Checking this option will create a .ipa for each .app found in the build directory.
    An .ipa is basically a zipped up .app.
    This is quite handy for distributing ad-hoc builds to testers as they can just double-click the .ipa and it will import into iTunes.

    • Type: boolean
  • generateArchive

    Checking this option will create an .xcarchive .app found in the build directory.
    An .xcarchive is useful for submission to the app store or third party crash reporters.
    You must specify a Scheme to perform an archive.

    • Type: boolean
  • noConsoleLog
    • Type: boolean
  • logfileOutputDirectory
    • Type: String
  • cleanBeforeBuild

    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.

    • Type: boolean
  • cleanTestReports
    • Type: boolean
  • configuration

    This is the name of the configuration as defined in the Xcode project.
    By default there are Debug and Release configurations.

    • Type: String
  • target

    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.

    • Type: String
  • sdk

    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/
    • Type: String
  • xcodeProjectPath

    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.

    • Type: String
  • xcodeProjectFile

    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.

    • Type: String
  • xcodebuildArguments

    Extra xcodebuild parameters, added after the command that jenkins generates based on the rest of the config

    • Type: String
  • cfBundleVersionValue

    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, for example, you can use : ${JOB_NAME}-${BUILD_NUMBER}

    • Type: String
  • cfBundleShortVersionStringValue

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

    • Type: String
  • unlockKeychain

    Automatically unlock the keychain before signing the archive?

    • Type: boolean
  • keychainName

    The name of this configured keychain. Each job will specify a keychain configuration by the name.

    • Type: String
  • keychainPath

    The path of the keychain to use to retrieve certificates to sign the package (default : ${HOME}/Library/Keychains/login.keychain).

    • Type: String
  • keychainPwd

    The password of the keychain to use to retrieve certificates to sign the package.

    • Type: String
  • symRoot

    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}/symroot
    • Type: String
  • xcodeWorkspaceFile

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

    • Type: String
  • xcodeSchema

    Needed if you want to compile for a specific schema instead of a target, or if you want to generate an archive or an IPA. It takes precedence over 'Xcode Configuration' setting and this job 'target' parameter.

    • Type: String
  • buildDir

    The value to use for the BUILD_DIR setting. 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
    • Type: String
  • developmentTeamName
    • Type: String
  • developmentTeamID
    • Type: String
  • allowFailingBuildResults

    Checking this option will prevent a build step from failing if xcodebuild exits with a non-zero return code.
    This can be useful for build steps that run unit tests and also have a post-build task to publish unit test results: the test step will not fail the entire build for a failing unit test, but will instead mark the build unstable in the "publish test" phase.

    • Type: boolean
  • ipaName
    • Type: String
  • provideApplicationVersion
    • Type: boolean
  • ipaOutputDirectory
    • Type: String
  • changeBundleID

    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.

    • Type: boolean
  • bundleID

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

    • Type: String
  • bundleIDInfoPlistPath

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

    • ${WORKSPACE}/ProjectName/Project-Info.plist
    • Type: String
  • ipaManifestPlistUrl
    • Type: String
  • interpretTargetAsRegEx
    • Type: boolean
  • ipaExportMethod
    • Type: String
  • manualSigning
    • Type: boolean
  • provisioningProfiles
      Array/List
      Nested Object
    • provisioningProfileAppId
      • Type: String
    • provisioningProfileUUID
      • Type: String

Was this page helpful?

Please submit your feedback about this page through this quick form.

Alternatively, if you don't wish to complete the quick form, you can simply indicate if you found this page helpful?

    


See existing feedback here.