Spec-Zone.ru › Kotlin 2

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

В качестве зависимости Pod можно использовать весь проект Kotlin. Для этого необходимо добавить такую зависимость в Podfile проекта, указав её имя и путь к каталогу проекта с созданным Podspec.

Подход с интеграцией CocoaPods нельзя использовать вместе с механизмом embedAndSignAppleFrameworkForXcode, применяемым для прямой интеграции.

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

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

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

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

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

Чтобы использовать проект Kotlin в качестве зависимости Pod в проекте Xcode с одной целью:

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

  2. В Xcode отключите параметр Песочница пользовательских скриптов в разделе Параметры сборки цели приложения:

    Disable sandboxing CocoaPods
  3. В части проекта Kotlin, относящейся к iOS, создайте Podfile.

  4. В файле build.gradle(.kts) общего модуля добавьте путь к Podfile с помощью podfile = project.file().

    Этот шаг позволяет синхронизировать проект Xcode с зависимостями проекта Kotlin, вызывая pod install для Podfile.

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

    kotlin {
        iosArm64()
    
        cocoapods {
            version = "2.0"
            summary = "CocoaPods test library"
            homepage = "https://github.com/JetBrains/kotlin"
            ios.deploymentTarget = "16.0"
    
            pod("SDWebImage") {
                version = "5.20.0"
            }
            podfile = project.file("../ios-app/Podfile")
        }
    }
    
  6. В Podfile добавьте имя и путь проекта Kotlin, который нужно включить в проект Xcode:

    target 'ios-app' do
        use_frameworks!
        platform :ios, '16.0'
    
        # Pods for iosApp
        pod 'kotlin_library', :path => '../kotlin-library'
    end
    
  7. Выполните pod install в каталоге проекта.

    При первом запуске pod install создаётся файл .xcworkspace. Этот файл включает исходный .xcodeproj и проект CocoaPods.

  8. Закройте .xcodeproj и вместо него откройте новый файл .xcworkspace. Это позволит избежать проблем с зависимостями проекта.

  9. Чтобы повторно импортировать проект, выполните в IntelliJ IDEA команду Сборка | Перезагрузить все проекты Gradle (или в Android Studio команду Файл | Синхронизировать проект с файлами Gradle).

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

Чтобы использовать проект Kotlin в качестве зависимости Pod в проекте Xcode с несколькими целями:

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

  2. В части проекта Kotlin, относящейся к iOS, создайте Podfile.

  3. В файле build.gradle(.kts) общего модуля добавьте путь к Podfile проекта с помощью podfile = project.file().

    Этот шаг позволяет синхронизировать проект Xcode с зависимостями проекта Kotlin, вызывая pod install для Podfile.

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

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

    kotlin {
        iosArm64()
        tvosArm64()
    
        cocoapods {
            version = "2.0"
            summary = "CocoaPods test library"
            homepage = "https://github.com/JetBrains/kotlin"
            ios.deploymentTarget = "16.0"
            tvos.deploymentTarget = "16.0"
    
            pod("SDWebImage") {
                version = "5.20.0"
            }
            // Specify the path to the Podfile
            podfile = project.file("../severalTargetsXcodeProject/Podfile")
        }
    }
    
  6. В Podfile добавьте имя и путь проекта Kotlin, который нужно включить в проект Xcode:

    target 'iosApp' do
      use_frameworks!
      platform :ios, '16.0'
    
      # Pods for iosApp
      pod 'kotlin_library', :path => '../kotlin-library'
    end
    
    target 'TVosApp' do
      use_frameworks!
      platform :tvos, '16.0'
    
      # Pods for TVosApp
      pod 'kotlin_library', :path => '../kotlin-library'
    end
    
  7. Выполните pod install в каталоге проекта.

    При первом запуске pod install создаётся файл .xcworkspace. Этот файл включает исходный .xcodeproj и проект CocoaPods.

  8. Закройте .xcodeproj и вместо него откройте новый файл .xcworkspace. Это позволит избежать проблем с зависимостями проекта.

  9. Чтобы повторно импортировать проект, выполните в IntelliJ IDEA команду Сборка | Перезагрузить все проекты Gradle (или в Android Studio команду Файл | Синхронизировать проект с файлами Gradle).

Что дальше

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

  • Как подключить фреймворк к проекту iOS

  • Полная справка по DSL плагина Gradle для CocoaPods

31 марта 2026 г.
Добавление зависимостей от библиотеки PodСправка по DSL плагина Gradle для CocoaPods

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/multiplatform/multiplatform-cocoapods-xcode.html

Spec-Zone.ru

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