使用CocoaPods构建KMM库失败,报错Could not find 'My'原因排查
KMM CocoaPods构建
linkPod*任务失败且符号找不到的可能原因 以下是这类错误的常见诱因:
- 符号引用错误:提示中找不到的
'My'大概率是代码里的类、对象、包名或顶层函数,可能是拼写错误(Kotlin大小写敏感)、未正确导入,或是该符号根本没在shared模块中定义。 - 框架导出配置遗漏:在shared模块的
build.gradle.kts的cocoapods配置块中,未将包含My相关代码的源集、目标纳入framework的导出范围,导致CocoaPods构建时无法识别该符号。 - 依赖配置不完善:若
My来自其他KMM模块或第三方库,未在shared模块的sourceSets中正确声明依赖,iOS构建链路无法获取到该符号的定义。 - 构建缓存异常:Gradle或CocoaPods的旧缓存残留可能引发问题,比如删除
My相关代码后缓存未清理,或是依赖更新后缓存未同步。可尝试执行./gradlew clean,再执行pod deintegrate && pod install清理缓存后重新构建。 - 架构特定实现缺失:如果
My相关代码使用了架构条件编译(如针对iOS真机/模拟器的不同实现),可能存在某类架构下的实现缺失,导致链接失败。 - CocoaPods配置冲突:
Podfile中的配置与KMM的cocoapods块配置不一致(如框架名称、版本不匹配),导致构建时无法正确关联Kotlin生成的框架。
内容的提问来源于stack exchange,提问作者Nico
相关产品推荐
相关产品推荐

