如何用KMM生成xcframework?embedAndSignAppleFrameworkForXcode仅生成framework
解决方案
1. 配置KMM模块生成XCFramework
在你的KMM共享模块的build.gradle.kts(或build.gradle)中,修改iOS目标的framework配置,指定生成XCFramework类型:
kotlin { ios { binaries.framework { baseName = "YourFrameworkName" // 替换为你的框架名称 frameworkType = FrameworkType.XCFRAMEWORK // 关键配置:启用XCFramework生成 isStatic = false // 根据需求设置静态/动态框架,两种都支持XCFramework } } }
2. 使用对应的Gradle任务
启用XCFramework配置后,原来的embedAndSignAppleFrameworkForXcode任务会被替换为专门的XCFramework任务:
./gradlew embedAndSignAppleXcframeworkForXcode
执行这个命令后,会生成适配不同架构(模拟器、真机)的XCFramework文件,默认输出路径为build/bin/ios/<debug/release>/。
3. 更新Xcode构建阶段命令
把Xcode构建阶段中原来的命令替换为上面的新任务命令,确保Xcode拉取的是XCFramework文件。
额外注意事项
- 你的Kotlin版本1.7.20已经支持XCFramework直接生成,无需额外插件
- 如果之前生成过.framework,建议先执行
./gradlew clean清理缓存后再重新构建 - 静态框架(
isStatic = true)同样可以生成XCFramework,适配多架构打包需求
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

