Skip to content

iOS 集成方法

您可以将 Kotlin Multiplatform 共享模块集成到您的 iOS 应用中。为此,您可以从共享模块生成一个 iOS framework,然后将其作为依赖项添加到 iOS 项目中:

iOS 集成示意图

可以将此 framework 作为本地或远程依赖项使用。如果您想完全控制整个代码库,并在公共代码更改时即时更新最终应用,请选择本地集成。

如果您想将最终应用的代码库与公共代码库显式分离,请设置远程集成。在这种情况下,共享代码将像常规第三方依赖项一样集成到最终应用中。

本地集成

在本地设置中,有两种主要的集成选项。您可以使用通过特殊脚本的直接集成,这使得 Kotlin 构建成为 iOS 构建的一部分。如果您的 Kotlin Multiplatform 项目中包含 Pod 依赖项,请采用 CocoaPods 集成方法。

直接集成

您可以通过向 Xcode 项目添加特殊脚本,直接从 Kotlin Multiplatform 项目连接 iOS framework。该脚本集成在项目构建设置的构建阶段中。

如果您的 Kotlin Multiplatform 项目中导入 CocoaPods 依赖项,则此集成方法可以适用。

如果您使用 [Kotlin Multiplatform IDE plugin]https://plugins.jetbrains.com/plugin/14936-kotlin-multiplatform),则默认应用直接集成。

关于直接集成,请参见Direct integration

CocoaPods 通过本地 podspec 集成

您可以通过 CocoaPods(一个流行的 Swift 和 Objective-C 项目依赖项管理器),从 Kotlin Multiplatform 项目连接 iOS framework。

此集成方法适用于您,如果:

  • 您有一个使用 CocoaPods 的 iOS 项目的单一版本库设置
  • 您在 Kotlin Multiplatform 项目中导入 CocoaPods 依赖项

要设置使用本地 CocoaPods 依赖项的工作流,您可以手动编辑脚本。

关于 CocoaPods 概述和设置,请参见CocoaPods overview and setup

远程集成

对于远程集成,您的项目可以使用 Swift Package Manager (SPM) 或 CocoaPods 依赖项管理器,从 Kotlin Multiplatform 项目连接 iOS framework。

Swift package manager 与 XCFrameworks

您可以设置一个使用 XCFrameworks 的 Swift package manager (SPM) 依赖项,以从 Kotlin Multiplatform 项目连接 iOS framework。

关于 Swift 包导出设置,请参见Swift package export setup

CocoaPods 与 XCFrameworks 集成

您可以使用 Kotlin CocoaPods Gradle 插件构建 XCFrameworks,然后通过 CocoaPods 将项目的共享部分与移动应用分开分发。

关于构建最终原生二进制文件,请参见Build final native binaries