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

在Kotlin Multiplatform中使用Google MLKit Pod报错:cinterop klib不存在

解决Kotlin Multiplatform集成Google MLKit TextRecognition时的cinterop klib缺失问题

针对你遇到的library-cinterop-GoogleMLKit.klib does not exist错误,可尝试以下几种解决方案:

  • 修正CocoaPods依赖配置
    Google MLKit的Pod需要明确指定使用框架模式,在pod配置块中添加useFramework = true,确保KMP能正确识别并生成cinterop文件:

    pod("GoogleMLKit/TextRecognition"){
        version = "3.2.0"
        useFramework = true
    }
    
  • 彻底清理重建项目
    缓存问题经常导致这类错误,按以下步骤操作:

    1. 执行./gradlew clean清理Gradle构建缓存
    2. 进入iOS模块目录,删除Pods文件夹和Podfile.lock文件
    3. 重新执行./gradlew podInstall拉取并安装Pod依赖
    4. 重新编译项目
  • 手动配置cinterop规则
    如果自动生成cinterop失败,可手动创建def文件指定头文件:

    1. 在src/iosMain/cinterop目录下创建GoogleMLKit.def文件,内容如下:
      language = Objective-C
      headers = GoogleMLKit/GoogleMLKit.h
      
    2. 在KMP的kotlin块中关联该def文件:
      kotlin {
          iosArm64 {
              compilations.main.cinterops.create("GoogleMLKit") {
                  defFile(project.file("src/iosMain/cinterop/GoogleMLKit.def"))
              }
          }
      }
      
  • 验证Pod安装完整性
    检查项目build/cocoapods/framework目录下是否存在GoogleMLKit.framework,如果不存在,说明Pod拉取失败,需检查网络连接或确认Pod仓库配置正确,确保能正常访问Google的Pod源。

  • 确认版本兼容性
    虽然你的部署目标14.1符合MLKit 3.2.0的最低要求(iOS 13.0),但仍可尝试升级Pod到最新稳定版,或临时将部署目标降至13.0测试,排除版本兼容问题。

内容的提问来源于stack exchange,提问作者n1rocket

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 20:16:19