Skip to main content

Xcodebuild for Devices (Archive & Export)

This step builds your application for iOS devices in ARM architecture, which is required for the Sharing With Testers feature or any other means of iOS distribution.

info

This step is the archive and export step. When the step is completed, the .ipa file of the application is generated.

Prerequisites

The workflow steps that need to be executed before running this step, along with their respective reasons, are listed in the table below.

Require Workflow StepDescription
Git CloneThe repository that needs to be built must be fetched from the Git provider. Xcodebuild for Devices should be used after this step.
Cocoapods InstallThis step installs all pod dependencies for project. Xcodebuild for Devices should be used after this step. If you use SPM (Swift Package Manager), it is not necessary to use.
Xcode SelectIn this step, select the Xcode version to build. Xcodebuild for Devices should be used after this step.
warning

This step should always follow steps that may affect Archive and Export, such as Xcode Select and Cocoapods Install.

Input Variables

You can find all the parameters required for this step in the table below, with their descriptions in detail.

Variable NameDescriptionStatus
$AC_REPOSITORY_DIRSpecifies the cloned repository directory. This path will be generated after the Git Clone step.Required
$AC_OUTPUT_DIR_PATHThis variable specifies the path of the artifacts that will be generated after the build is complete.Required
$AC_SCHEMESpecifies the project scheme for build. If you filled in Configuration => Build Scheme, this variable comes from Configuration.Required
$AC_ARCHIVE_FLAGSSpecifies the extra xcodebuild flag. For example: -quiet
$AC_PROJECT_PATHSpecifies the project path. For example: ./appcircle.xcodeproj. If you filled in Configuration => Project or Workspace, this variable comes from Configuration.Required
$AC_CERTIFICATESThis variable specifies the path of the certificates to be signed.Required
$AC_BUNDLE_IDENTIFIERSThis variable holds the Bundle Identifier of the application to be built.Required
$AC_PROVISIONING_PROFILESThis variable specifies the path of provisioning profiles to be signed.Required
$AC_CONFIGURATION_NAMEYou can build your project with any configuration you want. Specify the configuration as hard coded. Appcircle will add automatically this configuration to the xcodebuild command. For example; DebugOptional
$AC_COMPILER_INDEX_STORE_ENABLEYou can disable indexing during the build for faster build. Default value is No.Optional
$AC_METHOD_FOR_EXPORTDescribes how Xcode should export the archive. Available options are auto-detect, app-store, ad-hoc, enterprise, development. The default is auto-detect.Optional
$AC_TEAMID_FOR_EXPORTThe Developer Portal team to be use for this export. Defaults to the team used to build the archive.Optional
$AC_COMPILE_BITCODE_FOR_EXPORTFor non-App Store exports, should Xcode re-compile the app from bitcode? Available options YES, NO.Optional
$AC_UPLOAD_BITCODE_FOR_EXPORTFor App Store exports, should the package include a bitcode? Available options YES, NO.Optional
$AC_UPLOAD_SYMBOLS_FOR_EXPORTFor App Store exports, should the package include symbols? Available options YES, NO.Optional
$AC_ICLOUD_CONTAINER_ENVIRONMENT_FOR_EXPORTFor non-App Store exports, if the app is using CloudKit, this configures the "com.apple.developer.icloud-container-environment" entitlement. Available options Development and Production.Optional
$AC_DELETE_ARCHIVEDelete build.xcarchive file after creating ipa file.Optional

Output Variables

Variable NameDescription
$AC_ARCHIVE_PATHThis is the path created after retrieving the archive.
$AC_ARCHIVE_METADATA_PATHThis is the path created after the metadata is generated.
$AC_EXPORT_DIRThis is the path created when exporting.

To access the source code of this component, please use the following link:

Preview of GitHub - appcircleio/appcircle-ios-build-sign-component