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

KMM项目CocoaPods的publishDir不生效,如何将生成的podspec移至根目录?

解决KMM项目自动生成Podspec到根目录的问题

针对你遇到的publishDir配置不生效、无法将KMM模块的podspec生成到项目根目录的问题,可按以下步骤解决:

1. 修正publishDir的路径配置

之前使用相对路径../../可能因Gradle的路径解析逻辑导致定位错误,直接使用project.rootDir指向项目根目录更可靠:

kotlin {
    // ...其他配置

    cocoapods {
        name = "MyKMMAwesomeModule"
        // 直接指向项目根目录
        publishDir = project.rootDir

        framework {
            baseName = "MyKMMAwesomeModule"
            isStatic = false
            transitiveExport = false
        }

        // ...其他配置
    }
}

2. 清理缓存并重新生成Podspec

旧的构建缓存可能导致新配置不生效,执行以下Gradle任务强制重新生成:

./gradlew clean :MyKMMAwesomeModule:podspec

执行完成后,检查项目根目录是否已生成MyKMMAwesomeModule.podspec文件。

3. 验证路径正确性(可选)

如果仍有问题,可在配置中添加打印语句,确认publishDir的实际路径:

kotlin {
    cocoapods {
        // ...其他配置
        publishDir = project.rootDir
        // 打印绝对路径到控制台
        println("Podspec生成路径:${publishDir.absolutePath}")
    }
}

运行Gradle同步或任意任务,查看控制台输出的路径是否为项目根目录,排查路径定位问题。

4. 发布私有Pod

确认两个podspec都在根目录后,分别执行发布命令即可:

# 发布KMM模块的Pod
pod repo push 你的私有仓库名 MyKMMAwesomeModule.podspec

# 发布手动编写的UI Pod
pod repo push 你的私有仓库名 MyUI.podspec

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 02:13:19