KiteSsotIosExtension

abstract class KiteSsotIosExtension

Apple settings inside kiteSsot { ios { ... } }.

The root block holds the truth about your app: its name, its version, its ID. This block holds only what Apple needs on top of that: the bundle suffix, the two version fields, and where your Xcode tree lives.

kiteSsot {
appName = "Jetzy"
version = "1.4.0"
appId = "com.example.jetzy"

ios {
bundleIdSuffix = ".iosApp"
rebuild = 3

sync {
targets("iosApp")
}
}
}

Every path here already points at the standard Kotlin Multiplatform layout. Set one only when your tree looks different.

Nothing in this block writes a file on its own. Apple sources change only when sync is configured and you run a sync task yourself.

There is one derived read-only value, bundleId: Provider<String>: the root appId followed by bundleIdSuffix.

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
abstract val appDirectory: DirectoryProperty

The Apple source tree searched when Swift imports are migrated.

Link copied to clipboard
abstract val appIconDirectory: DirectoryProperty

Where the Apple app icon is installed.

Link copied to clipboard
abstract val buildNumber: Property<String>

The upload counter, written as CURRENT_PROJECT_VERSION. One to three numeric dot parts, for example "42" or "1001004000".

Link copied to clipboard
abstract val bundleIdSuffix: Property<String>

Appended to the root appId to build the Apple bundle ID.

Link copied to clipboard
abstract val deploymentTarget: Property<String>

The lowest iOS version your app supports, such as "14.0". The minimum accepted value is "12.0".

Link copied to clipboard
abstract val infoPlist: RegularFileProperty

The source XML Info.plist that plist sanitization maintains.

Link copied to clipboard
abstract val marketingVersion: Property<String>

The version users read in the App Store, written as CFBundleShortVersionString and MARKETING_VERSION.

Link copied to clipboard
abstract val pbxproj: RegularFileProperty

The Xcode project file that the explicit Apple tasks rewrite.

Link copied to clipboard
abstract val podfile: RegularFileProperty

The CocoaPods manifest read by the shared-module rename.

Link copied to clipboard
abstract val publishedBuildNumber: Property<String>

The highest build number you already uploaded for the current marketing version. The next resolved number must beat it.

Link copied to clipboard
abstract val rebuild: Property<Int>

Feeds the scheme as v.rebuild, so a value of 3 turns 1001004000 into 1001004003.

Link copied to clipboard
abstract val scheme: Property<VersionCodeScheme>

The formula that turns the version into a build number, for Apple only.

Link copied to clipboard

Apple source sync policy. Configure it with kiteSsot { ios { sync { ... } } }.

Functions

Link copied to clipboard

Set scheme from a lambda: scheme { v -> ... }.

Link copied to clipboard
fun sync(action: Action<in KiteSsotIosSyncExtension>)

Configure the nested Apple sync model.