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

M1 Mac下KMM项目导出iOS Framework遇Cocoapods相关报错如何解决?

问题修复方案

1. Gradle Sync执行pod install失败修复

Gradle调用CocoaPods时不会加载终端的全局源配置,必须在Podfile头部显式声明官方源,修改Podfile如下:

source 'https://cdn.cocoapods.org'
platform :ios, '14.0'
use_frameworks!

target 'Sample App' do
pod 'sharedCode', :path => '/Users/User/Developments/KotlinMultiplatform/sharedCode'
end

修改后重新执行Gradle Sync即可解决pod install报错问题。

2. :sharedCode:linkPodDebugFrameworkIosArm64任务失败修复

该报错由两个配置问题共同导致:

  • 冗余的自导出配置:当前模块本身就是要打包的sharedCode,不需要额外写export(project(":sharedCode")),直接删除这行配置即可。
  • 依赖声明和导出规则冲突:你开启了transitiveExport = true,该配置会把所有模块依赖都导出到iOS Framework的头文件中暴露给Swift调用,但commonMain里的依赖都用了implementation关键字声明,implementation属于模块内部依赖,不会对外暴露,和导出规则冲突。
    有两种解决方案二选一即可:
    • 如果你需要把这些Kotlin依赖的API暴露给Swift侧调用,把commonMain中对应依赖的implementation改为api:
      val commonMain by getting {
          dependencies {
              api("org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.0-RC")
              api("org.jetbrains.kotlinx:kotlinx-datetime:0.2.1")
              api("com.soywiz.korlibs.klock:klock:2.2.2")
              api("com.ionspin.kotlin:bignum:0.3.2")
          }
      }
      
    • 如果你不需要把这些依赖的API暴露给Swift侧,直接删除transitiveExport = true配置即可,不需要修改依赖声明。

修改完成后清理项目重新构建即可解决报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 18:06:02