【问题标题】: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)
    }
    

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

    【讨论】:

      猜你喜欢
      • 2022-08-04
      • 1970-01-01
      • 2019-12-31
      • 1970-01-01
      • 1970-01-01
      • 2018-10-05
      • 1970-01-01
      • 2015-12-31
      • 2020-10-12
      相关资源
      最近更新 更多