Kotlin 语言参考文档 中文版 Help

将 Kotlin Gradle 项目用作 CocoaPods 依赖项

你可以使用整个 Kotlin 项目作为一个 Pod 依赖项. 要做到这一点, 你需要在你的项目的 Podfile 中, 指定它的名称和生成的 Podspec 文件的目录路径, 来包含这样的依赖项.

依赖项将会与项目一起自动构建(以及重构建). 这样的方案可以简化 Kotlin Multiplatform 项目到 Xcode 的导入工作, 因为不再需要编写对应的 Gradle task 和 Xcode 构建步骤.

你可以在 Kotlin 项目和带有一个或多个编译目标的 Xcode 项目之间添加依赖. 也可以在 Kotlin 项目和多个 Xcode 项目之间添加依赖. 但是, 这种情况下, 你需要对每个 Xcode 项目手动调用 pod install. 对于单个的 Xcode 项目, 这个调用可以自动完成.

单个编译目标的 Xcode 项目

要在单个编译目标的 Xcode 项目中使用 Kotlin 项目作为 Pod 依赖项, 请执行以下步骤:

  1. 如果你还没有 Xcode 项目, 请创建一个.

  2. 在 Xcode 中, 请确认在应用程序 Target 中禁用了 Build Options 之下的 User Script Sandboxing:

    禁用 sandboxing CocoaPods
  3. 在你的 Kotlin 项目的 iOS 部分, 创建一个 Podfile.

  4. 在共用模块的 build.gradle(.kts) 文件中, 使用 podfile = project.file(), 添加你的项目的 Podfile 的路径.

    这个步骤可以通过对你的 Podfile 调用 pod install, 帮助你的 Xcode 项目与 Kotlin 项目依赖项保持同步.

  5. 指定 Pod 库的部署目标(deployment target)最小版本:

    kotlin { iosArm64() cocoapods { version = "2.0" summary = "CocoaPods test library" homepage = "https://github.com/JetBrains/kotlin" ios.deploymentTarget = "16.0" pod("SDWebImage") { version = "5.20.0" } podfile = project.file("../ios-app/Podfile") } }
  6. 在 Podfile 中, 对你在 Xcode 项目中想要包含的 Kotlin 项目, 添加它的名称和路径:

    target 'ios-app' do use_frameworks! platform :ios, '16.0' # Pods for iosApp pod 'kotlin_library', :path => '../kotlin-library' end
  7. 在你的项目目录中运行 pod install.

    在你第一次运行 pod install 时, 它会创建 .xcworkspace 文件. 这个文件包含你原来的 .xcodeproj 和 CocoaPods 项目.

  8. 关闭你的 .xcodeproj, 改为打开新的 .xcworkspace 文件. 这样你就可以避免项目依赖的问题.

  9. 在 IntelliJ IDEA 中, 运行 Build | Reload All Gradle Projects (如果是 Android Studio, 请运行 File | Sync Project with Gradle Files), 重新导入项目.

多个编译目标的 Xcode 项目

要在多个编译目标的 Xcode 项目中使用 Kotlin 项目作为 Pod 依赖项, 请执行以下步骤:

  1. 如果你还没有 Xcode 项目, 请创建一个.

  2. 在你的 Kotlin 项目的 iOS 部分, 创建一个 Podfile.

  3. 在共用模块的 build.gradle(.kts) 文件中, 使用 podfile = project.file(), 添加你的项目的 Podfile 的路径.

    这个步骤可以通过对你的 Podfile 调用 pod install, 帮助你的 Xcode 项目与 Kotlin 项目依赖项保持同步.

  4. 对于你的项目中希望使用的 Pod 库, 使用pod() 添加依赖项.

  5. 对每个目标, 指定 Pod 库的部署目标(deployment target)最小版本:

    kotlin { iosArm64() tvosArm64() cocoapods { version = "2.0" summary = "CocoaPods test library" homepage = "https://github.com/JetBrains/kotlin" ios.deploymentTarget = "16.0" tvos.deploymentTarget = "16.0" pod("SDWebImage") { version = "5.20.0" } // 指定 Podfile 路径 podfile = project.file("../severalTargetsXcodeProject/Podfile") } }
  6. 在 Podfile 中, 对你在 Xcode 项目中想要包含的 Kotlin 项目, 添加它的名称和路径:

    target 'iosApp' do use_frameworks! platform :ios, '16.0' # Pods for iosApp pod 'kotlin_library', :path => '../kotlin-library' end target 'TVosApp' do use_frameworks! platform :tvos, '16.0' # Pods for TVosApp pod 'kotlin_library', :path => '../kotlin-library' end
  7. 在你的项目目录中运行 pod install.

    在你第一次运行 pod install 时, 它会创建 .xcworkspace 文件. 这个文件包含你原来的 .xcodeproj 和 CocoaPods 项目.

  8. 关闭你的 .xcodeproj, 改为打开新的 .xcworkspace 文件. 这样你就可以避免项目依赖的问题.

  9. 在 IntelliJ IDEA 中, 运行 Build | Reload All Gradle Projects (如果是 Android Studio, 请运行 File | Sync Project with Gradle Files), 重新导入项目.

下一步做什么

2025/08/04