You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置KMM使Swift协议仅保留Completion Handler形式?

KMM配置:仅为suspend接口生成Completion Handler形式

可以通过配置Kotlin/Native的编译器参数,让共享模块生成的iOS框架只保留Completion Handler形式的suspend函数接口,具体操作如下:

  • 在共享模块的build.gradle.kts(或Groovy版的build.gradle)中,找到iOS目标的框架配置,添加对应的编译器参数:
kotlin {
    ios {
        binaries {
            framework {
                // 保留你的原有框架配置(比如baseName等)
                freeCompilerArgs += "-Xobjc-generate-async-from-suspend=disable"
            }
        }
    }
    // 其他平台目标配置...
}
  • 这个-Xobjc-generate-async-from-suspend=disable参数会直接禁用Kotlin/Native自动从suspend函数生成async/await形式的Swift接口,重新构建项目后,iOS端的协议就只会包含Completion Handler版本的函数,无需再实现async版本。

如果使用的是较旧版本的KMM,可替换为-Xobjc-async-from-suspend=disable参数,效果一致。

内容的提问来源于stack exchange,提问作者marek.pivovarnik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 17:16:26