Spec-Zone.ru › Kotlin 1.8

Использование проекта Kotlin Gradle в качестве зависимости CocoaPods

Вы можете использовать проект Kotlin Multiplatform с нативными целями в качестве зависимости CocoaPods. Вы можете включить такую зависимость в файл Podfile проекта Xcode по его имени и пути к каталогу проекта, содержащему сгенерированный Podspec.

Эта зависимость будет автоматически построена (и перестроена) вместе с этим проектом. Такой подход упрощает импорт в Xcode, устраняя необходимость в ручном написании соответствующих задач Gradle и шагов сборки Xcode.

Вы можете добавить зависимости между проектом Kotlin Gradle и проектом Xcode с одним или несколькими целями. Также возможно добавить зависимости между проектом Gradle и несколькими проектами Xcode. Однако в этом случае вам необходимо вручную добавить зависимость, вызвав pod install для каждого проекта Xcode. В других случаях это делается автоматически.

  • Для правильного импорта зависимостей в модуль Kotlin/Native, Podfile должен содержать либо use_modular_headers!, либо use_frameworks! директиву.

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

Проект Xcode с одной целью

  1. Создайте проект Xcode с Podfile , если вы этого еще не сделали.

  2. Добавьте путь к вашему проекту Xcode Podfile с podfile = project.file(..) в build.gradle.kts (build.gradle) вашего проекта Kotlin. Этот шаг помогает синхронизировать ваш проект Xcode с зависимостями проекта Gradle, вызвав pod install для вашего Podfile.

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

    kotlin {
        ios()
    
        cocoapods {
            summary = "CocoaPods test library"
            homepage = "https://github.com/JetBrains/kotlin"
            ios.deploymentTarget = "13.5"
            pod("AFNetworking") {
                version = "~> 4.0.0"
            }
            podfile = project.file("../ios-app/Podfile")
        }
    }
    
  4. Добавьте имя и путь проекта Gradle, который вы хотите включить в проект Xcode, в Podfile.

    use_frameworks!
    
    platform :ios, '13.5'
    
    target 'ios-app' do
            pod 'kotlin_library', :path => '../kotlin-library'
    end
    
  5. Переимпортируйте проект.

Проект Xcode с несколькими целями

  1. Создайте проект Xcode с Podfile , если вы этого еще не сделали.

  2. Добавьте путь к вашему проекту Xcode Podfile с podfile = project.file(..) в build.gradle.kts (build.gradle) вашего проекта Kotlin. Этот шаг помогает синхронизировать ваш проект Xcode с зависимостями проекта Gradle, вызвав pod install для вашего Podfile.

  3. Добавьте зависимости к библиотекам Pod, которые вы хотите использовать в своем проекте с помощью pod().

  4. Для каждой цели укажите минимальную целевую версию развертывания для библиотеки Pod.

    kotlin {
        ios()
        tvos()
    
        cocoapods {
            summary = "CocoaPods test library"
            homepage = "https://github.com/JetBrains/kotlin"
            ios.deploymentTarget = "13.5"
            tvos.deploymentTarget = "13.4"
    
            pod("AFNetworking") {
                version = "~> 4.0.0"
            }
            podfile = project.file("../severalTargetsXcodeProject/Podfile") // specify the path to the Podfile
        }
    }
    
  5. Добавьте имя и путь проекта Gradle, который вы хотите включить в проект Xcode, в Podfile.

    target 'iosApp' do
      use_frameworks!
      platform :ios, '13.5'
      # Pods for iosApp
      pod 'kotlin_library', :path => '../kotlin-library'
    end
    
    target 'TVosApp' do
      use_frameworks!
      platform :tvos, '13.4'
    
      # Pods for TVosApp
      pod 'kotlin_library', :path => '../kotlin-library'
    end
    
  6. Переимпортируйте проект.

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

Последнее изменение: 10 января 2023
Добавление зависимостей от библиотеки Pod Справочник по DSL-плагину CocoaPods Gradle

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

Spec-Zone.ru

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