Spec-Zone.ru › Kotlin 1.7

Справочник по 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, краткое описание и домашняя страница, а также дополнительные возможности.

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

Имя

Описание

version

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

summary

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

homepage

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

authors

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

podfile

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

noPodspec()

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

useLibraries()

Настраивает cocoapods-generate для генерации xcodeproj, совместимого со статическими библиотеками.

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 и настраивает свойства фреймворка Pod, созданного из проекта.

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

Имя

Описание

baseName

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

isStatic

Включает поддержку динамических фреймворков.

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")

.

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"))
        }
    }
}
Последнее изменение: 27 сентября 2022
Использование Kotlin Gradle-проекта как зависимости CocoaPods Kotlin/Native-библиотеки

© 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

Spec-Zone.ru

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