Spec-Zone.ru › Kotlin 1.6

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

Версии плагина соответствуют версиям Kotlin. Последняя стабильная версия — 1.6.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()

    • Архивированной папки Pod (tar, jar, zip), используя 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"))
        }
    }
}
Последнее изменение: 07 апреля 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