给Kotlin Multiplatform添加Pod依赖导致编译错误(退出码1)
解决Kotlin多平台项目引入lottie-ios Pod时的cinterop编译失败问题
检查Pod与KMP插件兼容性
确认lottie-ios 4.3.3版本和你的Kotlin多平台插件版本匹配。若插件版本过低,可能导致cinterop生成逻辑不兼容。可尝试切换到4.2.0这类稳定版测试。调整cocoapods配置
移除podfile = project.file("../iosApp/Podfile")配置,避免本地Podfile和KMP自动管理的依赖冲突,修改后的配置如下:cocoapods { summary = "Common Code (Platform-agnostic)" homepage = "." version = "1.0.0" ios.deploymentTarget = "14.1" framework { baseName = "shared" } pod("lottie-ios") { version = "4.3.3" } }清理缓存后重新构建
依次执行以下操作:- 运行
./gradlew clean清理Gradle缓存 - 删除iosApp目录下的
Pods文件夹和Podfile.lock - 在iosApp目录执行
pod install - 回到项目根目录执行
./gradlew assembleIosArm64
- 运行
检查JDK路径与版本
报错关联Java进程失败,需确认JDK配置:- 在项目
gradle.properties中指定兼容的JDK路径(推荐1.8或11版本):org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home
- 在项目
查看详细错误日志
执行./gradlew :shared:cinteropLottie-iosIosArm64 --info获取完整报错信息,定位具体问题(如头文件缺失、权限异常等)。
内容的提问来源于stack exchange,提问作者Yurowitz
相关产品推荐
相关产品推荐

