Spec-Zone.ru › Kotlin 1.9

Справочник по 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.9.0"
   kotlin("native.cocoapods") version "1.9.0"
}

Версии плагина соответствуют версиям Kotlin. Последняя стабильная версия — 1.9.0.

Блок cocoapods

Блок cocoapods — это блок верхнего уровня для настройки CocoaPods. Он содержит общую информацию о Pod, включая необходимую информацию, такую как версия Pod, краткое описание и домашняя страница, а также дополнительные параметры.

Вы можете использовать следующие блоки, функции и свойства внутри него:

Имя

Описание

version

Версия Pod. Если не указано, используется версия проекта Gradle. Если ни одно из этих свойств не настроено, вы получите ошибку.

summary

Необходимое описание Pod, созданного из этого проекта.

homepage

Необходимая ссылка на домашнюю страницу Pod, созданного из этого проекта.

authors

Указывает авторов Pod, созданного из этого проекта.

podfile

Настраивает существующий файл Podfile.

noPodspec()

Настраивает плагин, чтобы он не генерировал файл Podspec для раздела cocoapods.

name

Имя Pod, созданного из этого проекта. Если не указано, используется имя проекта.

license

Лицензия Pod, созданного из этого проекта, её тип и текст.

framework

Блок framework настраивает фреймворк, созданный плагином.

source

Расположение Pod, созданного из этого проекта.

extraSpecAttributes

Настраивает другие атрибуты Podspec, такие как libraries или vendored_frameworks.

xcodeConfigurationToNativeBuildType

Сопоставляет пользовательскую конфигурацию Xcode для NativeBuildType: "Debug" с NativeBuildType.DEBUG, а "Release" с NativeBuildType.RELEASE.

publishDir

Настраивает выходную директорию для публикации Pod.

pods

Возвращает список зависимостей Pod.

pod()

Добавляет зависимость CocoaPods в Pod, созданный из этого проекта.

specRepos

Добавляет репозиторий спецификаций с помощью url(). Это необходимо при использовании частного Pod в качестве зависимости. Подробнее см. в документации CocoaPods.

Цели

  • ios

  • osx

  • tvos

  • watchos

Для каждой цели используйте свойство 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 и настраивает свойства framework Pod, созданного из проекта.

Обратите внимание, что baseName — обязательное поле.

Имя

Описание

baseName

Обязательное имя framework. Используйте это свойство вместо устаревшего frameworkName.

isStatic

Определяет тип связывания framework. По умолчанию динамический.

transitiveExport

Включает экспорт зависимостей.

kotlin {
    cocoapods {
        framework {
            baseName = "MyFramework"
            isStatic = false
            export(project(":anotherKMMModule"))
            transitiveExport = true
        }
    }
}

Функция pod()

Вызов функции pod() добавляет зависимость CocoaPods в Pod, созданный из этого проекта. Каждая зависимость требует отдельного вызова функции.

Вы можете указать имя библиотеки Pod в параметрах функции и дополнительные значения параметров, такие как version и source библиотеки, в её блоке конфигурации:

Имя

Описание

version

Версия библиотеки. Чтобы использовать последнюю версию библиотеки, опустите параметр.

source

Настраивает Pod из:

  • Git репозитория, используя git(). В блоке после git(), вы можете указать commit для использования определённого коммита, tag для использования определённого тега и branch для использования определённой ветки из репозитория.

  • Локального репозитория, используя path()

  • Архивированного (tar, jar, zip) пакета Pod, используя url()

packageName

Указывает имя пакета.

extraOpts

Указывает список опций для библиотеки Pod. Например, конкретные флаги:

extraOpts = listOf("-compiler-option")

linkOnly

Инструктирует плагин CocoaPods использовать Pod зависимости с динамическими фреймворками без генерации привязок cinterop. При использовании статических фреймворков опция полностью удалит зависимость Pod.

interopBindingDependencies

Содержит список зависимостей от других Pod. Этот список используется при создании привязки Kotlin для нового Pod.

useInteropBindingFrom()

Указывает имя существующего Pod, который используется в качестве зависимости. Этот Pod должен быть объявлен до выполнения функции. Функция инструктирует плагин CocoaPods использовать Kotlin привязку существующего Pod при построении привязки для нового.

kotlin {
    ios()
   
    cocoapods {
        summary = "CocoaPods test library"
        homepage = "https://github.com/JetBrains/kotlin"
      
        ios.deploymentTarget = "13.5"
      
        pod("pod_dependency") {
            version = "1.0"
            linkOnly = true
            source = path(project.file("../pod_dependency"))
        }
    }
}
Последнее изменение: 14 июля 2023
Использование проекта Kotlin Gradle в качестве зависимости CocoaPods Библиотеки Kotlin/Native

© 2010–2023 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API