【问题标题】:What's the replacement of `./gradlew packForXcode` in latest KMM with Cocoapod?用 Cocoapod 替换最新 KMM 中的 ./gradlew packForXcode 是什么?
【发布时间】:2021-08-17 07:06:52
【问题描述】:
我正在按照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
KMM 与 Cocoapod 的等效 ./gradlew packForXcode 是什么
(仅供参考,我使用的 KMM 版本是 0.2.5(202-1.5.10-834-IJ)-3 Plugin)
【问题讨论】:
标签:
android
ios
kotlin-multiplatform
kotlin-multiplatform-mobile
【解决方案1】:
packForXcode 已从最新插件版本中删除,您可以使用这个 sn-p:
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)
}
(可能需要对您的项目进行一些调整)