KMP集成CocoaPods时embedAndSignAppleFrameworkForXcode脚本执行失败求助
解决KMP项目集成CocoaPods时的'embedAndSign'构建错误
问题重现
按照官方文档配置KMP项目支持CocoaPods后,构建时出现以下错误:
FAILURE: Build failed with an exception.
- What went wrong:
'embedAndSign' task can't be used in a project with dependencies to pods.
Please migrate to CocoaPods for integration into Xcode: https://kotl.in/vc2iq3
To temporarily suppress this error, put the following in your gradle.properties:
解决方案
临时快速修复
在项目根目录的gradle.properties文件中添加以下配置,可临时抑制错误:
kotlin.mpp.enableCocoaPodsFrameworkPublish=false
长期正确修复方案
这一错误的核心是Kotlin的embedAndSignAppleFrameworkForXcode任务与CocoaPods的框架嵌入/签名逻辑冲突——CocoaPods会接管这部分工作,因此需要调整项目配置:
- 确认项目已正确应用CocoaPods插件:在
build.gradle.kts(或build.gradle)中,确保同时应用kotlin-multiplatform和cocoapods插件:plugins { kotlin("multiplatform") version "你的Kotlin版本" id("org.jetbrains.kotlin.native.cocoapods") version "你的Kotlin版本" } - 确保使用Xcode的
.xcworkspace文件打开项目,而非.xcodeproj——CocoaPods生成的workspace包含了正确的依赖和构建配置。 - 清理构建缓存:执行终端命令
./gradlew clean,同时在Xcode中清除Derived Data(Xcode > Preferences > Locations > Derived Data,点击路径旁的箭头删除对应文件夹),之后重新构建项目。
内容的提问来源于stack exchange,提问作者Ilia Petukhov
相关产品推荐
相关产品推荐

