Spec-Zone.ru › Kotlin 1.8

Справочник по плагину 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.8.0"
   kotlin("native.cocoapods") version "1.8.0"
}

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

Блок 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"))
        }
    }
}
Последнее изменение: 10 января 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