Structure
Shipfile
The top-level structure of a Shipfile.yml configuration file.
struct ShipfileOverview
A Shipfile defines app metadata, build settings, code signing configuration, distribution targets, and named workflow lanes. It is decoded from YAML using Yams.
Example
app:
workspace: MyApp.xcworkspace
scheme: MyApp
bundle_id: com.mycompany.myapp
workflows:
beta:
- action: archive
- action: testflightTopics
Initializers
init(from: any Decoder) throwsinit(platform: Platform?, app: AppConfig?, appStoreConnect: AppStoreConnectConfig?, codeSigning: CodeSigningConfig?, build: BuildConfig?, archive: ArchiveConfig?, export: ExportConfig?, testflight: TestFlightConfig?, screenshots: ScreenshotsConfig?, metadata: MetadataConfig?, versioning: VersioningConfig?, projectGeneration: ProjectGenerationConfig?, notifications: NotificationsConfig?, workflows: [String : WorkflowConfig]?, customActions: [String : CustomActionConfig]?, ios: IOSConfig?, android: AndroidConfig?)Creates a
Shipfilewith all optional configuration sections.
Instance Properties
var android: AndroidConfig?Android-specific configuration merged on top of shared config when platform resolves to
.android.var app: AppConfig?Core app identity configuration.
var appStoreConnect: AppStoreConnectConfig?App Store Connect API credentials.
var archive: ArchiveConfig?Archive settings.
var build: BuildConfig?Build settings.
var codeSigning: CodeSigningConfig?Code signing settings.
var customActions: [String : CustomActionConfig]?User-defined composite actions — reusable, parameterized sequences of built-in actions (or other custom actions). Invoked from workflow steps by name, just like built-in actions. See
CustomActionConfig.var export: ExportConfig?IPA export settings.
var ios: IOSConfig?iOS-specific overrides merged on top of shared config when platform resolves to
.ios.var metadata: MetadataConfig?App Store metadata settings.
var notifications: NotificationsConfig?Notification settings.
var platform: Platform?Target platform for this Shipfile. CLI
--platformandSHIPIT_PLATFORMoverride this value.var projectGeneration: ProjectGenerationConfig?Project generation configuration (e.g. XcodeGen, Tuist).
var screenshots: ScreenshotsConfig?Screenshot capture settings.
var testflight: TestFlightConfig?TestFlight distribution settings.
var versioning: VersioningConfig?Versioning strategy settings.
var workflows: [String : WorkflowConfig]?Named release workflows.
Relationships
Conforms To
Swift.DecodableSwift.EncodableSwift.SendableSwift.SendableMetatype