首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cocoapods集成中嵌套多平台库的使用

cocoapods集成中嵌套多平台库的使用
EN

Stack Overflow用户
提问于 2021-12-23 00:44:39
回答 2查看 188关注 0票数 0

在Android世界中,我可以在模块中添加一个依赖项,对于任何将该模块作为依赖项添加的模块,它都可以根据需要使用来自该依赖项的API。例如,facebook ->使用模块-> foo模块->主应用程序模块,foo模块和主应用程序模块都可以使用facebook。

我如何在多平台世界(或iOS世界)做同样的事情?facebook iOS sdk pod -> utils模块-> foo模块-> iOS主项目

我尝试过只在utils模块中添加pod,但是foo & main都无法访问iOS API。如果我在foo模块中添加相同的pod,它也不能访问Facebook。

还是应该使用cocoapods以外的其他依赖管理工具?

EN

回答 2

Stack Overflow用户

发布于 2022-01-21 08:58:36

我想你最终会想要一些类似将依赖项导出到二进制文件的东西。但是,我不确定这是否适用于Kotlin模块之间的依赖关系。对于它们之间的依赖关系,我建议使用api依赖项链接,并为每个模块分别添加pods。

我的意思是,核心模块的build.gradle.kts应该只包含

代码语言:javascript
复制
...
kotlin {
    ios()

    cocoapods {
        ios.deploymentTarget = "13.5"

        summary = "CocoaPods test library"
        homepage = "https://github.com/JetBrains/kotlin"

        pod("FBSDKCoreKit")
    }
}
...

登录模块具有cocoapods和核心依赖关系:

代码语言:javascript
复制
...
kotlin {
    ios()

    framework {
            // Mandatory properties
            // Configure fields required by CocoaPods.
            summary = "Some description for a Kotlin/Native module"
            homepage = "Link to a Kotlin/Native module homepage"
            // Framework name configuration. Use this property instead of deprecated 'frameworkName'
            baseName = "MyFramework"

            // Optional properties
            // (Optional) Dynamic framework support
            isStatic = false
            // (Optional) Dependency export
            export(project(":core"))
            transitiveExport = true
            // (Optional) Bitcode embedding
            embedBitcode(BITCODE)
        }
        pod("FBSDKCoreKit")
        pod("FBSDKLoginKit")
    }
...
    sourceSets {
        val iosMain by getting {
            dependencies {
                api(project(":core"))
            }
        }
    }
}

...
票数 2
EN

Stack Overflow用户

发布于 2021-12-23 01:31:08

您只能导出单个Kotlin Xcode Framework。它是一种“大二进制”,它拥有所有的依赖关系。如果"utils模块“和"foo模块”都是Kotlin模块,则应该将它们收集到单个Kotlin Xcode Framework中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70456588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档