Программируем под IOS
Anonymous
Multiplatform Kotlin: Импорт общего в XCode Внезапно показывает пустой модуль
Сообщение
Anonymous » 22 июл 2025, 07:57
Я работаю над многоплатформенным проектом Kotlin, используя типичную структуру (Shared, Androidapp, iosapp). До недавнего времени все работало нормально-я мог импортировать общий модуль в Swift (Import Shared) и получить доступ к классам, определенным Kotlin. На этом этапе я подозреваю, что проблема может быть вызвана плагина Kotlinx.serialization или его совместимостью версии.
Код: Выделить всё
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.kotlinCocoapods)
alias(libs.plugins.androidLibrary)
id("com.google.devtools.ksp") version "2.2.0-2.0.2"
id("com.rickclephas.kmp.nativecoroutines") version "1.0.0-ALPHA-45"
kotlin("plugin.serialization") version "1.9.0"
}
kotlin {
androidTarget {
compilations.all {
compileTaskProvider.configure {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_1_8)
}
}
}
}
iosX64()
iosArm64()
iosSimulatorArm64()
cocoapods {
summary = "Some description for the Shared Module"
homepage = "Link to the Shared Module homepage"
version = "1.0"
ios.deploymentTarget = "16.0"
podfile = project.file("../iosApp/Podfile")
framework {
baseName = "shared"
isStatic = false
}
}
sourceSets {
commonMain.dependencies {
//ktor : Stomp 내부에서 ktor 3.1.2를 사용하므로, 강제 3.1.2 고정 필수.
implementation("io.ktor:ktor-client-core:3.1.2")
implementation("io.ktor:ktor-client-content-negotiation:3.1.2")
implementation("io.ktor:ktor-serialization-kotlinx-json:3.1.2")
implementation("io.ktor:ktor-client-logging:3.1.2")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0")
implementation("com.rickclephas.kmp:kmp-nativecoroutines-core:1.0.0-ALPHA-45")
implementation(kotlin("stdlib"))
implementation(libs.androidx.lifecycle.viewmodel)
implementation(libs.androidx.lifecycle.runtimeCompose)
implementation(libs.krossbow.stomp.core)
implementation(libs.krossbow.websocket.core)
implementation(libs.krossbow.websocket.builtin)
implementation(libs.krossbow.websocket.ktor)
implementation(libs.kotlinx.serialization.json)
}
commonTest.dependencies {
implementation(libs.kotlin.test)
}
iosMain.dependencies {
implementation(libs.ktor.client.darwin)
implementation(libs.krossbow.websocket.ktor)
}
androidMain.dependencies {
implementation("io.ktor:ktor-client-okhttp:3.1.2")
}
}
}
android {
namespace = "com.drive.eumm_personal"
compileSdk = 35
defaultConfig {
minSdk = 24
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
}
Как я могу решить эту проблему
Подробнее здесь:
https://stackoverflow.com/questions/797 ... pty-module
1753160240
Anonymous
Я работаю над многоплатформенным проектом Kotlin, используя типичную структуру (Shared, Androidapp, iosapp). До недавнего времени все работало нормально-я мог импортировать общий модуль в Swift (Import Shared) и получить доступ к классам, определенным Kotlin. На этом этапе я подозреваю, что проблема может быть вызвана плагина Kotlinx.serialization или его совместимостью версии.[code]import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.kotlinMultiplatform) alias(libs.plugins.kotlinCocoapods) alias(libs.plugins.androidLibrary) id("com.google.devtools.ksp") version "2.2.0-2.0.2" id("com.rickclephas.kmp.nativecoroutines") version "1.0.0-ALPHA-45" kotlin("plugin.serialization") version "1.9.0" } kotlin { androidTarget { compilations.all { compileTaskProvider.configure { compilerOptions { jvmTarget.set(JvmTarget.JVM_1_8) } } } } iosX64() iosArm64() iosSimulatorArm64() cocoapods { summary = "Some description for the Shared Module" homepage = "Link to the Shared Module homepage" version = "1.0" ios.deploymentTarget = "16.0" podfile = project.file("../iosApp/Podfile") framework { baseName = "shared" isStatic = false } } sourceSets { commonMain.dependencies { //ktor : Stomp 내부에서 ktor 3.1.2를 사용하므로, 강제 3.1.2 고정 필수. implementation("io.ktor:ktor-client-core:3.1.2") implementation("io.ktor:ktor-client-content-negotiation:3.1.2") implementation("io.ktor:ktor-serialization-kotlinx-json:3.1.2") implementation("io.ktor:ktor-client-logging:3.1.2") implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0") implementation("com.rickclephas.kmp:kmp-nativecoroutines-core:1.0.0-ALPHA-45") implementation(kotlin("stdlib")) implementation(libs.androidx.lifecycle.viewmodel) implementation(libs.androidx.lifecycle.runtimeCompose) implementation(libs.krossbow.stomp.core) implementation(libs.krossbow.websocket.core) implementation(libs.krossbow.websocket.builtin) implementation(libs.krossbow.websocket.ktor) implementation(libs.kotlinx.serialization.json) } commonTest.dependencies { implementation(libs.kotlin.test) } iosMain.dependencies { implementation(libs.ktor.client.darwin) implementation(libs.krossbow.websocket.ktor) } androidMain.dependencies { implementation("io.ktor:ktor-client-okhttp:3.1.2") } } } android { namespace = "com.drive.eumm_personal" compileSdk = 35 defaultConfig { minSdk = 24 } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } } [/code] Как я могу решить эту проблему Подробнее здесь: [url]https://stackoverflow.com/questions/79709900/kotlin-multiplatform-import-shared-in-xcode-suddenly-shows-empty-module[/url]