用 Cocoapod 替换最新 KMM 中的 ./gradlew packForXcode 是什么?
What's the replacement of `./gradlew packForXcode` in latest KMM with Cocoapod?
我正在按照 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 插件)
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)
}
(您的项目可能需要一些调整)
我正在按照 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 插件)
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)
}
(您的项目可能需要一些调整)