Spec-Zone.ru › Kotlin 1.6

Обзор и настройка CocoaPods

Kotlin/Native обеспечивает интеграцию с менеджером зависимостей CocoaPods. Вы можете добавлять зависимости от библиотек Pod, а также использовать многоплатформенный проект с нативными целями в качестве зависимости CocoaPods.

Вы можете управлять зависимостями Pod непосредственно в IntelliJ IDEA и наслаждаться дополнительными функциями, такими как подсветка кода и автодополнение. Вы можете собрать весь проект Kotlin с помощью Gradle и никогда не переключаться на Xcode.

Используйте Xcode только тогда, когда вам нужно написать код Swift/Objective-C или запустить приложение на симуляторе или устройстве. Для корректной работы с Xcode необходимо обновить ваш Podfile.

В зависимости от вашего проекта и целей, вы можете добавить зависимости между проектом Kotlin и библиотекой Pod, а также проектом Kotlin Gradle и проектом Xcode.

Настройка среды для работы с CocoaPods

  1. Установите менеджер зависимостей CocoaPods:

    $ sudo gem install cocoapods
    
  2. Установите плагин cocoapods-generate:

    $ sudo gem install cocoapods-generate
    

Если у вас возникнут проблемы во время установки, следуйте официальному руководству по установке CocoaPods

Добавление и настройка плагина Kotlin CocoaPods Gradle

  1. В build.gradle(.kts) вашего проекта примените плагин CocoaPods, а также плагин Kotlin Multiplatform:

    plugins {
       kotlin("multiplatform") version "1.6.20"
       kotlin("native.cocoapods") version "1.6.20"
    }
    
  2. Настройте version, summary, homepage, и baseName файла Podspec в блоке cocoapods:

    plugins {
        kotlin("multiplatform") version "1.6.20"
        kotlin("native.cocoapods") version "1.6.20"
    }
    
    kotlin {
        cocoapods {
            // Required properties
            // Specify the required Pod version here. Otherwise, the Gradle project version is used.
            version = "1.0"
            summary = "Some description for a Kotlin/Native module"
            homepage = "Link to a Kotlin/Native module homepage"
    
            // Optional properties
            // Configure the Pod name here instead of changing the Gradle project name
            name = "MyCocoaPod"
    
            framework {
                // Required properties              
                // Framework name configuration. Use this property instead of deprecated 'frameworkName'
                baseName = "MyFramework"
    
                // Optional properties
                // Dynamic framework support
                isStatic = false
                // Dependency export
                export(project(":anotherKMMModule"))
                transitiveExport = false // This is default.
                // Bitcode embedding
                embedBitcode(BITCODE)
            }
    
            // Maps custom Xcode configuration to NativeBuildType
            xcodeConfigurationToNativeBuildType["CUSTOM_DEBUG"] = NativeBuildType.DEBUG
            xcodeConfigurationToNativeBuildType["CUSTOM_RELEASE"] = NativeBuildType.RELEASE
        }
    }
    

    См. полную синтаксическую конструкцию Kotlin DSL в репозитории плагина Kotlin Gradle.

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

  4. Сгенерируйте обёртку Gradle, чтобы избежать проблем совместимости во время сборки Xcode.

При применении плагина CocoaPods выполняется следующее:

  • Добавляет как debug , так и release фреймворки в качестве выходных бинарных файлов для всех целей macOS, iOS, tvOS и watchOS.

  • Создаёт задачу podspec, которая генерирует файл Podspec для проекта.

Файл Podspec включает путь к выходному фреймворку и стадии скриптов, которые автоматизируют сборку этого фреймворка во время процесса сборки проекта Xcode.

Обновление Podfile для Xcode

Если вы хотите импортировать свой проект Kotlin в проект Xcode, вам необходимо внести некоторые изменения в ваш Podfile:

  • Если ваш проект имеет зависимости от Git, HTTP или пользовательских репозиториев Podspec, вы также должны указать путь к Podspec в Podfile.

    Например, если вы добавляете зависимость от podspecWithFilesExample, укажите путь к Podspec в Podfile:

    target 'ios-app' do
        # ... other depedencies ...
        pod 'podspecWithFilesExample', :path => 'cocoapods/externalSources/url/podspecWithFilesExample'
    end
    

    :path должен содержать путь к Pod.

  • При добавлении библиотеки из пользовательского репозитория Podspec, вы также должны указать местоположение спецификаций в начале вашего Podfile:

    source 'https://github.com/Kotlin/kotlin-cocoapods-spec.git'
    
    target 'kotlin-cocoapods-xcproj' do
        # ... other depedencies ...
        pod 'example'
    end
    

Переимпортируйте проект после внесения изменений в Podfile.

Если вы не внесёте эти изменения в Podfile, задача podInstall завершится с ошибкой, и плагин CocoaPods отобразит сообщение об ошибке в журнале.

Посмотрите ветку withXcproject образцового проекта, в котором показан пример интеграции Xcode с существующим проектом Xcode под названием kotlin-cocoapods-xcproj.

Последнее изменение: 07 апреля 2022
Kotlin/Native в качестве фреймворка Apple – руководство Добавление зависимостей от библиотеки Pod

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

Spec-Zone.ru

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