Kotlin Multiplatform执行gradle任务cinteropAFNetworkingIos失败如何解决
KMM cinteropAFNetworkingIos任务失败排查方案
- 首先执行Gradle的pod安装任务:在项目根目录运行
./gradlew sharedClient:podInstall,该任务会自动将你在Gradle中声明的pod依赖同步到指定的iOS端Podfile中,并完成依赖下载安装,直接构建未执行该步骤会导致依赖缺失报错。 - 校验部署目标一致性:你在Gradle cocoapods块中配置的
ios.deploymentTarget = "14.1"需要和三个位置的配置完全一致:iOS端Podfile中platform :ios后的版本号、Xcode项目的iOS Deployment Target配置值,版本不匹配会导致模块构建失败。 - 检查Podfile关联配置:确认你指定的
../iosClient/Podfile中已经添加了pod 'sharedClient', :path => '../sharedClient'配置,未添加该配置会导致iOS项目无法关联KMM共享模块的pod依赖。 - 清理缓存重试:如果上述配置都正确仍报错,按顺序执行以下命令清理缓存后重试:
- 项目根目录执行
./gradlew clean - 进入iOS项目目录执行
rm -rf Pods Podfile.lock - 回到项目根目录重新执行
./gradlew sharedClient:podInstall - 重新执行构建任务
- 项目根目录执行
- 适配M系列芯片Mac架构:如果你使用的是M1/M2系列芯片的Mac,需要在KMM共享模块的kotlin配置中明确添加模拟器Arm64架构支持,示例配置如下:
kotlin { // 统一声明iOS目标,自动适配多架构 ios { binaries.framework { baseName = "sharedClient" } } // 也可分开手动声明所需架构 iosX64() iosArm64() iosSimulatorArm64() }
缺少对应架构配置会导致模拟器构建时模块解析失败。
内容的提问来源于stack exchange,提问作者sockeqwe
相关产品推荐
相关产品推荐

