2

我正在按照https://kotlinlang.org/docs/mobile/integrate-in-existing-app.htm中的 KMM 教程工作。当我到达这一步./gradlew packForXcode时,它会失败

* What went wrong:
Task 'packForXcode' not found in root project 'Simple Login'.

我怀疑原因是旧的 KMM 有packForXcxode它的 iOS 框架。 在此处输入图像描述

但是,新版本现在使用 Cocoapod 在此处输入图像描述

./gradlew packForXcodeKMM 与 Cocoapod的等价物是什么

(仅供参考,我使用的 KMM 版本是 0.2.5(202-1.5.10-834-IJ)-3 插件)

4

1 回答 1

4

packForXcode已从最新的插件版本中删除,您可以使用以下代码段:

val packForXcode by tasks.creating(Sync::class) {
    group = "build"
    val mode = System.getenv("CONFIGURATION") ?: "DEBUG"
    val target = if(System.getenv("SDK_NAME").orEmpty().startsWith("macosx")) "macOS" else "ios"
    val framework =
        kotlin.targets.getByName<KotlinNativeTarget>(target).binaries.getFramework(mode)
    inputs.property("mode", mode)
    dependsOn(framework.linkTask)
    val targetDir = File(buildDir, "xcode-frameworks")
    from({ framework.outputDirectory })
    into(targetDir)
}

(可能需要对您的项目进行一些调整)

于 2021-05-29T09:00:56.600 回答