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

KMM库无法生成XCFramework,仅生成空目录求助

解决KMM项目构建XCFramework仅生成空目录的问题

以下是针对该问题的排查和解决方案:

  • 检查iOS目标的XCFramework配置
    确保模块的build.gradle.kts中iOS目标的binaries块正确配置了XCFramework,需明确指定要包含的架构:

    ios {
        binaries {
            xcFramework {
                // 按需添加需要支持的架构,比如真机、模拟器架构
                binaries.forEach {
                    it.targetTriples += iosArm64()
                    it.targetTriples += iosX64()
                    it.targetTriples += iosSimulatorArm64()
                }
            }
        }
    }
    

    若架构配置不全,可能导致没有对应的二进制产物生成,最终XCFramework目录为空。

  • 使用正确的Gradle构建命令
    不要依赖Android Studio的GUI构建按钮,直接在终端执行指定Gradle命令:

    ./gradlew assembleXCFramework
    

    若项目包含多个模块,需指定具体模块:

    ./gradlew :your-library-module:assembleXCFramework
    

    查看命令行输出的日志,重点关注是否有构建失败、跳过的提示,比如Task SKIPPED或报错信息,这些是排查问题的关键。

  • 验证iOS SDK版本匹配
    确认项目中配置的iOS最低版本与本地Xcode安装的SDK版本兼容,比如在build.gradle.kts中:

    ios {
        iosTarget("ios") {
            minOsVersion = "14.0"
        }
    }
    

    若Xcode中没有对应版本的SDK,可能导致构建静默失败,无产物输出。

  • 检查Gradle插件与Kotlin版本兼容性
    根项目settings.gradle.kts和模块build.gradle.kts中,Kotlin Multiplatform插件版本需与Kotlin版本匹配:

    // 根项目settings.gradle.kts
    plugins {
        id("org.jetbrains.kotlin.multiplatform") version "1.9.20" apply false
    }
    

    版本不兼容可能导致构建流程异常,无法生成XCFramework产物。

  • 查看详细构建日志定位问题
    执行带日志参数的构建命令,获取更详细的执行信息:

    ./gradlew assembleXCFramework --info
    

    搜索日志中xcframework相关条目,查找是否有构建被跳过的原因,比如无符合条件的二进制产物、依赖缺失等。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 16:42:06