无法在 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)
            }
        }
...