【发布时间】:2021-04-13 21:12:18
【问题描述】:
我正在开发一个 KMM 项目,我需要为我的项目创建不同的模式,例如(开发、生产、质量保证)我可以在 android 部分轻松完成,但我无法在 iOS 中创建相同的模式。我尝试创建通常在 iOS 应用程序中执行的不同模式,但我的应用程序崩溃,错误定位到我们在 android studio 中的packForXcode 任务。
崩溃时出错:- No enum constant org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType.DEVELOPMENT 在这里我创建了一个名为 development 的自定义架构
这个错误指向
val packForXcode by tasks.creating(Sync::class) {
group = "build"
val mode = System.getenv("CONFIGURATION") ?: "DEBUG"
val sdkName = System.getenv("SDK_NAME") ?: "iphonesimulator"
val targetName = "ios" + if (sdkName.startsWith("iphoneos")) "Arm64" else "X64"
val framework = kotlin.targets.getByName<KotlinNativeTarget>(targetName).binaries.getFramework(mode)
inputs.property("mode", mode)
dependsOn(framework.linkTask)
val targetDir = File(buildDir, "xcode-frameworks")
from({ framework.outputDirectory })
into(targetDir)
}
现在进入binaries,我可以看到有两个NativeBuildTargetsDEBUG 和RELEASE,所以我可以在这两个中运行,但是如何为我的iOS 应用创建自定义架构?
【问题讨论】:
标签: ios xcode kotlin-multiplatform