Справочник по DSL-плагину CocoaPods Gradle
Плагин Kotlin CocoaPods Gradle — это инструмент для создания файлов Podspec. Эти файлы необходимы для интеграции вашего Kotlin-проекта с менеджером зависимостей CocoaPods.
Этот справочник содержит полный список блоков, функций и свойств плагина Kotlin CocoaPods Gradle, которые вы можете использовать при работе с интеграцией CocoaPods.
Узнайте, как настроить среду и настроить плагин Kotlin CocoaPods Gradle.
В зависимости от вашего проекта и целей, вы можете добавить зависимости между Kotlin-проектом и Pod-библиотекой, а также Kotlin Gradle-проектом и Xcode-проектом.
Включение плагина
Для применения плагина CocoaPods добавьте следующие строки в файл build.gradle(.kts).
plugins {
kotlin("multiplatform") version "1.7.20"
kotlin("native.cocoapods") version "1.7.20"
}
Версии плагина соответствуют версиям Kotlin. Последняя стабильная версия — 1.7.20.
Блок cocoapods
Блок cocoapods — это блок верхнего уровня для конфигурации CocoaPods. Он содержит общую информацию о Pod, включая необходимую информацию, такую как версия Pod, краткое описание и домашняя страница, а также дополнительные возможности.
Вы можете использовать следующие блоки, функции и свойства внутри него:
Имя |
Описание |
|---|---|
|
Версия Pod. Если она не указана, используется версия Gradle-проекта. Если ни одно из этих свойств не настроено, вы получите ошибку. |
|
Требуемое описание Pod, созданного из этого проекта. |
|
Требуемая ссылка на домашнюю страницу Pod, созданного из этого проекта. |
|
Указывает авторов Pod, созданного из этого проекта. |
|
Настраивает существующий файл |
|
Настраивает плагин, чтобы он не генерировал файл Podspec для раздела |
|
Настраивает |
|
Имя Pod, созданного из этого проекта. Если не указано, используется имя проекта. |
|
Лицензия Pod, созданного из этого проекта, ее тип и текст. |
|
Блок framework настраивает фреймворк, созданный плагином. |
|
Расположение Pod, созданного из этого проекта. |
|
Настраивает другие атрибуты Podspec, такие как |
|
Сопоставляет пользовательскую конфигурацию Xcode для NativeBuildType: «Debug» с |
|
Настраивает выходную директорию для публикации Pod. |
|
Возвращает список зависимостей Pod. |
|
Добавляет зависимость CocoaPods к Pod, созданному из этого проекта. |
|
Добавляет репозиторий спецификаций с помощью |
Цели
iososxtvoswatchos
Для каждой цели используйте свойство deploymentTarget для указания минимальной версии Pod-библиотеки.
При применении CocoaPods добавляет как debug, так и release фреймворки в качестве выходных бинарных файлов для всех целей.
kotlin {
ios()
cocoapods {
version = "2.0"
name = "MyCocoaPod"
summary = "CocoaPods test library"
homepage = "https://github.com/JetBrains/kotlin"
extraSpecAttributes["vendored_frameworks"] = 'CustomFramework.xcframework'
license = "{ :type => 'MIT', :text => 'License text'}"
source = "{ :git => 'git@github.com:vkormushkin/kmmpodlibrary.git', :tag => '$version' }"
authors = "Kotlin Dev"
specRepos {
url("https://github.com/Kotlin/kotlin-cocoapods-spec.git")
}
pod("example")
xcodeConfigurationToNativeBuildType["CUSTOM_RELEASE"] = NativeBuildType.RELEASE
}
}
Блок framework()
Блок framework вложен внутри cocoapods и настраивает свойства фреймворка Pod, созданного из проекта.
Имя |
Описание |
|---|---|
|
Обязательное имя фреймворка. Используйте это свойство вместо устаревшего |
|
Включает поддержку динамических фреймворков. |
|
Включает экспорт зависимостей. |
kotlin {
cocoapods {
framework {
baseName = "MyFramework"
isStatic = false
export(project(":anotherKMMModule"))
transitiveExport = true
}
}
}
Функция pod()
Вызов функции pod() добавляет зависимость CocoaPods к Pod, созданному из этого проекта. Каждая зависимость требует отдельного вызова функции.
Вы можете указать имя Pod-библиотеки в параметрах функции и дополнительные значения параметров, такие как version и source библиотеки, в её блоке конфигурации.
Имя |
Описание |
|---|---|
|
Версия библиотеки. Чтобы использовать последнюю версию библиотеки, опустите параметр. |
|
Настраивает Pod из:
|
|
Указывает имя пакета. |
|
Указывает список опций для Pod-библиотеки. Например, определённые флаги: extraOpts = listOf("-compiler-option")
. |
kotlin {
ios()
cocoapods {
summary = "CocoaPods test library"
homepage = "https://github.com/JetBrains/kotlin"
ios.deploymentTarget = "13.5"
pod("pod_dependency") {
version = "1.0"
source = path(project.file("../pod_dependency"))
}
}
}
© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/native-cocoapods-dsl-reference.html