Enumeration
BuildSystem
The build system that produces the native artifact for a given target platform.
enum BuildSystemOverview
BuildSystem is orthogonal to Platform: a single source tree can target both .ios and .android while being built by a cross-platform tool such as Flutter, React Native, or Kotlin Multiplatform. Native (pure Swift / pure Android-Gradle) projects use BuildSystem.native.
The value is configured under the ios: or android: Shipfile block via the build_system: key, or via the SHIPIT_IOS__BUILD_SYSTEM / SHIPIT_ANDROID__BUILD_SYSTEM environment variables. When unset, ConfigResolver auto-detects it from project files (e.g. pubspec.yaml → .flutter, kotlin("multiplatform") in build.gradle.kts → .kmp).
Usage
ios:
build_system: kmp # native (default) | flutter | react_native | kmp
scheme: iosApp
android:
build_system: kmp
module: androidAppAuto-detection rules
Project file detected | Build system |
|---|---|
|
|
|
|
|
|
|
|
a module-level |
|
none of the above |
|
Topics
Enumeration Cases
case flutterFlutter —
flutter buildproduces.app/.ipaon iOS and.apk/.aabon Android.case kmpKotlin Multiplatform — Gradle handles the Android target and produces an iOS framework that is consumed by an Xcode wrapper project.
case nativePure native build (Swift + xcodebuild for iOS, Kotlin/Java + Gradle for Android).
case reactNativeReact Native — Metro bundles JS, then xcodebuild (iOS) or Gradle (Android) produces the native artifact.
Initializers
Type Methods
static func autoDetect(in: String, fileManager: FileManager) -> BuildSystem?Auto-detects the build system from project files in the given directory.
Default Implementations
Relationships
Conforms To
Swift.CaseIterableSwift.DecodableSwift.EncodableSwift.EquatableSwift.HashableSwift.RawRepresentableSwift.SendableSwift.SendableMetatype