【发布时间】:2021-09-29 17:57:35
【问题描述】:
我正在尝试围绕 AWS Amplify 创建一个包装器以用于我的项目。我的共享(公共)模块中有一个名为 Amplify 的模块。这里我在官方文档中integrated cocoapods as instructed。但是当我尝试从 iosMain 导入任何内容时,我不断收到Unresolved reference: cocoapods。
我的项目结构如下
通用模块(共享)
|- 根模块
|- 其他功能
|- 放大包装模块
在根模块中我有
kotlin {
ios {
binaries {
framework {
baseName = "Framework"
linkerOpts.add("-lsqlite3")
export(project(":common:main"))
}
}
}
以及放大模块中 cocoapods 的设置
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
plugins {
id("multiplatform-setup") // this is from buildSrc, it adds the multiplatform plugin
id("android-setup")
id("org.jetbrains.kotlin.native.cocoapods")
kotlin("plugin.serialization") version "1.5.10"
}
version = "1.0"
kotlin {
sourceSets {
named("commonMain") {
dependencies {
}
}
}
cocoapods {
summary = "Amplify wrapper for KMP project"
homepage = "Link to a Kotlin/Native module homepage"
frameworkName = "AmplifyKMP"
pod("Amplify")
pod("AmplifyPlugins/AWSCognitoAuthPlugin")
pod("AmplifyPlugins/AWSPinpointAnalyticsPlugin")
}
}
我的想法是,我可以从 commonMain 代码中公开我的包装器,这将调用 Amplify Android 和 Amplify IOS 库中的实际实现。我的第一个问题是 cocoapods 未解决,其次,官方文档和 github 中的所有示例都在主模块(在我的情况下为根模块)中有 cocoapods,它们从那里导出框架,我不确定我的方法是否可行.
【问题讨论】:
标签: kotlin cocoapods kotlin-multiplatform