无法在 kotlin 多平台移动 (KMM) 中生成 libraryname.xcframework
Failing to generate libraryname.xcframework in kotlin multiplatform mobile (KMM)
我试图用 Kotlin 1.5.31 生成 XCFramework,其中包含 iOSArm64 和 iOSX64 的目标。
使用下面的 build.gradle.kt ,它会生成一个 FatFrameworks 。我无法生成 XCFrameworks。
import org.jetbrains.kotlin.gradle.plugin.mpp.apple.XCFramework
kotlin {
val xcFramework = XCFramework(libName)
android()
ios {
binaries.framework(libName) {
xcFramework.add(this)
}
}
sourceSets {
val commonMain by getting
val commonTest by getting {
dependencies {
implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common"))
}
}
val androidMain by getting {
dependencies {
implementation("com.google.android.material:material:1.2.1")
}
}
val androidTest by getting {
dependencies {
implementation(kotlin("test-junit"))
implementation("junit:junit:4.13")
}
}
val iosMain by getting
val iosTest by getting
}
}
而且我已经将任务包含在 build.gradle.kts :
tasks {
register(“buildDebugXCFramework”)
register(“buildReleaseXCFramework”)
register(“publishDevFramework”)
register(“publishFramework”)
}
This is the output I got : fatframeowrks generated but not the libraryname.xcframeworks
如果有关于生成目标为 iOSArm64 和 iOSX64 的 XCFrameworks 的任何建议? ,会有帮助,谢谢。
我认为关注 the documentation 可能会有所帮助。
请通过 baseName
选项设置库名称,并通过 运行 assembleXCFramework
Gradle 任务构建最终的 XCFramework。
import org.jetbrains.kotlin.gradle.plugin.mpp.apple.XCFramework
kotlin {
val xcFramework = XCFramework()
android()
ios {
binaries.framework() {
baseName = "libName"
xcFramework.add(this)
}
}
...
我试图用 Kotlin 1.5.31 生成 XCFramework,其中包含 iOSArm64 和 iOSX64 的目标。 使用下面的 build.gradle.kt ,它会生成一个 FatFrameworks 。我无法生成 XCFrameworks。
import org.jetbrains.kotlin.gradle.plugin.mpp.apple.XCFramework
kotlin {
val xcFramework = XCFramework(libName)
android()
ios {
binaries.framework(libName) {
xcFramework.add(this)
}
}
sourceSets {
val commonMain by getting
val commonTest by getting {
dependencies {
implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common"))
}
}
val androidMain by getting {
dependencies {
implementation("com.google.android.material:material:1.2.1")
}
}
val androidTest by getting {
dependencies {
implementation(kotlin("test-junit"))
implementation("junit:junit:4.13")
}
}
val iosMain by getting
val iosTest by getting
}
}
而且我已经将任务包含在 build.gradle.kts :
tasks {
register(“buildDebugXCFramework”)
register(“buildReleaseXCFramework”)
register(“publishDevFramework”)
register(“publishFramework”)
}
This is the output I got : fatframeowrks generated but not the libraryname.xcframeworks
如果有关于生成目标为 iOSArm64 和 iOSX64 的 XCFrameworks 的任何建议? ,会有帮助,谢谢。
我认为关注 the documentation 可能会有所帮助。
请通过 baseName
选项设置库名称,并通过 运行 assembleXCFramework
Gradle 任务构建最终的 XCFramework。
import org.jetbrains.kotlin.gradle.plugin.mpp.apple.XCFramework
kotlin {
val xcFramework = XCFramework()
android()
ios {
binaries.framework() {
baseName = "libName"
xcFramework.add(this)
}
}
...