將 Kotlin 專案作為 CocoaPods 相依性使用
- 在新增 Pod 相依性之前,請先完成初始配置。
- 你可以在我們的 GitHub 存儲庫中找到範例專案。
你可以將整個 Kotlin 專案作為 Pod 相依性使用。若要執行此操作,你需要在專案的 Podfile 中包含該相依性,並指定其名稱以及包含產生的 Podspec 的專案目錄路徑。
CocoaPods 整合方式無法與用於 直接整合 的
embedAndSignAppleFrameworkForXcode機制同時使用。
此相依性將與該專案一起自動組建(及重新組建)。這種方法簡化了匯入到 Xcode 的過程,因為不再需要手動編寫對應的 Gradle 任務和 Xcode 組建步驟。
你可以在一個 Kotlin 專案與具有一個或多個目標的 Xcode 專案之間新增相依性。也可以在一個 Kotlin 專案與多個 Xcode 專案之間新增相依性。但是,在這種情況下,你需要為每個 Xcode 專案手動呼叫 pod install。對於單個 Xcode 專案,這是自動完成的。
- 為了正確地將相依性匯入到 Kotlin/Native 模組中,Podfile 必須包含
use_modular_headers!或use_frameworks!指示詞。- 如果你沒有指定最低部署目標版本,而某個相依 Pod 需要更高的部署目標,則會收到錯誤。
具有單個目標的 Xcode 專案
要在具有單個目標的 Xcode 專案中將 Kotlin 專案作為 Pod 相依性使用:
如果你還沒有 Xcode 專案,請建立一個。
在 Xcode 中,確保在應用程式目標的 Build Options 下停用 User Script Sandboxing:

在 Kotlin 專案的 iOS 部分,建立一個 Podfile。
在共用模組的
build.gradle(.kts)檔案中,使用podfile = project.file()新增 Podfile 的路徑。此步驟透過為你的 Podfile 呼叫
pod install,幫助同步你的 Xcode 專案與 Kotlin 專案相依性。指定 Pod 程式庫的最低部署目標版本:
kotlinkotlin { 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") } }在 Podfile 中,新增你要包含在 Xcode 專案中的 Kotlin 專案名稱和路徑:
rubytarget 'ios-app' do use_frameworks! platform :ios, '16.0' # iosApp 的 Pods pod 'kotlin_library', :path => '../kotlin-library' end在你的專案目錄中執行
pod install。當你第一次執行
pod install時,它會建立.xcworkspace檔案。此檔案包含你原始的.xcodeproj和 CocoaPods 專案。關閉你的
.xcodeproj並改為開啟新的.xcworkspace檔案。透過這種方式,你可以避免專案相依性方面的問題。在 IntelliJ IDEA 中執行 Build | Reload All Gradle Projects(或在 Android Studio 中執行 File | Sync Project with Gradle Files)以重新匯入專案。
具有多個目標的 Xcode 專案
要在具有多個目標的 Xcode 專案中將 Kotlin 專案作為 Pod 相依性使用:
如果你還沒有 Xcode 專案,請建立一個。
在 Kotlin 專案的 iOS 部分,建立一個 Podfile。
在共用模組的
build.gradle(.kts)檔案中,使用podfile = project.file()新增專案 Podfile 的路徑。此步驟透過為你的 Podfile 呼叫
pod install,幫助同步你的 Xcode 專案與 Kotlin 專案相依性。使用
pod()向你要在專案中使用的 Pod 程式庫新增相依性。為每個目標指定 Pod 程式庫的最低部署目標版本:
kotlinkotlin { 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") } }在 Podfile 中,新增你要包含在 Xcode 專案中的 Kotlin 專案名稱和路徑:
rubytarget 'iosApp' do use_frameworks! platform :ios, '16.0' # iosApp 的 Pods pod 'kotlin_library', :path => '../kotlin-library' end target 'TVosApp' do use_frameworks! platform :tvos, '16.0' # TVosApp 的 Pods pod 'kotlin_library', :path => '../kotlin-library' end在你的專案目錄中執行
pod install。當你第一次執行
pod install時,它會建立.xcworkspace檔案。此檔案包含你原始的.xcodeproj和 CocoaPods 專案。關閉你的
.xcodeproj並改為開啟新的.xcworkspace檔案。透過這種方式,你可以避免專案相依性方面的問題。在 IntelliJ IDEA 中執行 Build | Reload All Gradle Projects(或在 Android Studio 中執行 File | Sync Project with Gradle Files)以重新匯入專案。
