Spec-Zone.ru › Kotlin 1.8

Добавление зависимостей от библиотеки Pod

Для добавления зависимостей между проектом Kotlin и библиотекой Pod необходимо завершить начальную настройку. Это позволяет добавить зависимости от различных типов библиотек Pod.

При добавлении новой зависимости и повторном импорте проекта в IntelliJ IDEA новая зависимость будет добавлена автоматически. Дополнительные шаги не требуются.

Для использования проекта Kotlin с Xcode необходимо внесите изменения в файл Podfile вашего проекта.

Проекту Kotlin требуется вызов функции pod() в build.gradle(.kts) для добавления зависимости Pod. Каждая зависимость требует отдельного вызова функции. Параметры зависимости можно указать в блоке конфигурации функции.

Если вы не укажете минимальную версию целевой платформы, а зависимая библиотека Pod требует более высокую версию, будет выдано сообщение об ошибке.

Вы можете найти пример проекта здесь.

Из репозитория CocoaPods

  1. Укажите имя библиотеки Pod в функции pod().

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

    Можно добавлять зависимости от подбиблиотек.

  2. Укажите минимальную версию целевой платформы для библиотеки Pod.

    kotlin {
        ios()
    
        cocoapods {
            ios.deploymentTarget = "13.5"
    
            summary = "CocoaPods test library"
            homepage = "https://github.com/JetBrains/kotlin"
    
            pod("AFNetworking") {
                version = "~> 4.0.1"
            }
        }
    }
    
  3. Повторно импортируйте проект.

Для использования этих зависимостей из кода Kotlin импортируйте пакеты cocoapods.<library-name>.

import cocoapods.AFNetworking.*

В локально сохранённой библиотеке

  1. Укажите имя библиотеки Pod в функции pod().

    В блоке конфигурации укажите путь к локальной библиотеке Pod: используйте функцию path() в качестве значения параметра source.

    Можно также добавлять локальные зависимости от подбиблиотек. Блок cocoapods может содержать зависимости от локально сохранённых библиотек Pod и библиотек из репозитория CocoaPods одновременно.

  2. Укажите минимальную версию целевой платформы для библиотеки Pod.

    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"))
            }
            pod("subspec_dependency/Core") {
                version = "1.0"
                source = path(project.file("../subspec_dependency"))
            }
            pod("AFNetworking") {
                version = "~> 4.0.1"
            }
        }
    }
    

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

  3. Повторно импортируйте проект.

Для использования этих зависимостей из кода Kotlin импортируйте пакеты cocoapods.<library-name>.

import cocoapods.pod_dependency.*
import cocoapods.subspec_dependency.*
import cocoapods.AFNetworking.*

Из пользовательского репозитория Git

  1. Укажите имя библиотеки Pod в функции pod().

    В блоке конфигурации укажите путь к репозиторию Git: используйте функцию git() в качестве значения параметра source.

    Кроме того, вы можете указать следующие параметры в блоке после git():

    • commit — для использования конкретного коммита из репозитория

    • tag — для использования конкретной метки из репозитория

    • branch — для использования конкретной ветки из репозитория

    Функция git() отдаёт приоритет переданным параметрам в следующем порядке: commit, tag, branch . Если вы не укажете параметр, плагин Kotlin использует значение HEAD из ветки master.

    Вы можете комбинировать параметры branch, commit, и tag для получения конкретной версии Pod.

  2. Укажите минимальную версию целевой платформы для библиотеки Pod.

    kotlin {
        ios()
    
        cocoapods {
            summary = "CocoaPods test library"
            homepage = "https://github.com/JetBrains/kotlin"
    
            ios.deploymentTarget = "13.5"
    
            pod("AFNetworking") {
                source = git("https://github.com/AFNetworking/AFNetworking") {
                    tag = "4.0.0"
                }
            }
    
            pod("JSONModel") {
                source = git("https://github.com/jsonmodel/jsonmodel.git") {
                    branch = "key-mapper-class"
                }
            }
    
            pod("CocoaLumberjack") {
                source = git("https://github.com/CocoaLumberjack/CocoaLumberjack.git") {
                    commit = "3e7f595e3a459c39b917aacf9856cd2a48c4dbf3"
                }
            }
        }
    }
    
  3. Повторно импортируйте проект.

Для корректной работы с Xcode необходимо указать путь к Podspec в вашем файле Podfile. Например:

target 'ios-app' do
    # ... other pod dependencies ...
    pod 'JSONModel', :path => '../cocoapods/kmm-with-cocoapods-sample/kotlin-library/build/cocoapods/externalSources/git/JSONModel'
end

Для использования этих зависимостей из кода Kotlin импортируйте пакеты cocoapods.<library-name>.

import cocoapods.AFNetworking.*
import cocoapods.JSONModel.*
import cocoapods.CocoaLumberjack.*

Из пользовательского репозитория Podspec

  1. Укажите адрес HTTP пользовательского репозитория Podspec с помощью url() внутри блока specRepos.

  2. Укажите имя библиотеки Pod в функции pod().

  3. Укажите минимальную версию целевой платформы для библиотеки Pod.

    kotlin {
        ios()
    
        cocoapods {
            summary = "CocoaPods test library"
            homepage = "https://github.com/JetBrains/kotlin"
    
            ios.deploymentTarget = "13.5"
    
            specRepos {
                url("https://github.com/Kotlin/kotlin-cocoapods-spec.git")
            }
            pod("example")
        }
    }
    
  4. Повторно импортируйте проект.

Для корректной работы с Xcode необходимо указать расположение спецификаций в начале вашего файла Podfile. Например,

source 'https://github.com/Kotlin/kotlin-cocoapods-spec.git'

Также необходимо указать путь к Podspec в вашем файле Podfile. Например:

target 'ios-app' do
    # ... other pod dependencies ...
    pod 'podspecWithFilesExample', :path => '../cocoapods/kmm-with-cocoapods-sample/pod_dependency'
end

Для использования этих зависимостей из кода Kotlin импортируйте пакеты cocoapods.<library-name>.

import cocoapods.example.*

С пользовательскими параметрами cinterop

  1. Укажите имя библиотеки Pod в функции pod().

    В блоке конфигурации укажите параметры cinterop:

    • extraOpts — для указания списка параметров для библиотеки Pod. Например, конкретные флаги: extraOpts = listOf("-compiler-option")

    • packageName — для указания имени пакета. Если вы это укажете, вы можете импортировать библиотеку, используя имя пакета: import <packageName>.

  2. Укажите минимальную версию целевой платформы для библиотеки Pod.

    kotlin {
        ios()
    
        cocoapods {
            summary = "CocoaPods test library"
            homepage = "https://github.com/JetBrains/kotlin"
    
            ios.deploymentTarget = "13.5"
    
            useLibraries()
    
            pod("YandexMapKit") {
                packageName = "YandexMK"
            }
        }
    }
    
  3. Повторно импортируйте проект.

Для использования этих зависимостей из кода Kotlin импортируйте пакеты cocoapods.<library-name>.

import cocoapods.YandexMapKit.*

Если вы используете параметр packageName , вы можете импортировать библиотеку, используя имя пакета import <packageName>:

import YandexMK.YMKPoint
import YandexMK.YMKDistance

В статической библиотеке Pod

  1. Укажите имя библиотеки с помощью функции pod().

  2. Вызовите функцию useLibraries() — она включает специальный флаг для статических библиотек.

  3. Укажите минимальную версию целевой платформы для библиотеки Pod.

    kotlin {
        ios()
    
        cocoapods {
            summary = "CocoaPods test library"
            homepage = "https://github.com/JetBrains/kotlin"
    
            ios.deploymentTarget = "13.5"
    
            pod("YandexMapKit") {
                version = "~> 3.2"
            }
            useLibraries()
        }
    }
    
  4. Повторно импортируйте проект.

Для использования этих зависимостей из кода Kotlin импортируйте пакеты cocoapods.<library-name>.

import cocoapods.YandexMapKit.*
Последнее изменение: 10 января 2023 г.
Обзор и настройка CocoaPods Использование проекта Kotlin Gradle в качестве зависимости CocoaPods

© 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-libraries.html

Spec-Zone.ru

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