Agent Skills: Kotlin Multiplatform Skill

Kotlin Multiplatform - shared code, expect/actual, iOS integration

kotlinmultiplatformiosshared-codeexpect-actual
developmentID: pluginagentmarketplace/custom-plugin-kotlin/kotlin-multiplatform

Skill Files

Browse the full folder contents for kotlin-multiplatform.

Download Skill

Loading file tree…

skills/kotlin-multiplatform/SKILL.md

Skill Metadata

Name
kotlin-multiplatform
Description
Kotlin Multiplatform - shared code, expect/actual, iOS integration

Kotlin Multiplatform Skill

Build cross-platform applications with shared Kotlin code.

Topics Covered

Project Setup

kotlin {
    androidTarget()
    listOf(iosX64(), iosArm64(), iosSimulatorArm64()).forEach {
        it.binaries.framework { baseName = "Shared"; isStatic = true }
    }
    sourceSets {
        commonMain.dependencies {
            implementation("io.ktor:ktor-client-core:2.3.8")
        }
        androidMain.dependencies { implementation("io.ktor:ktor-client-okhttp:2.3.8") }
        iosMain.dependencies { implementation("io.ktor:ktor-client-darwin:2.3.8") }
    }
}

expect/actual

// commonMain
expect class SecureStorage { fun get(key: String): String? }

// androidMain
actual class SecureStorage { actual fun get(key: String) = prefs.getString(key, null) }

// iosMain
actual class SecureStorage { actual fun get(key: String) = KeychainWrapper.get(key) }

Troubleshooting

| Issue | Resolution | |-------|------------| | "No actual for expect" | Add implementation in platform source set | | iOS framework not found | Run linkDebugFrameworkIos task |

Usage

Skill("kotlin-multiplatform")