Использование проекта Kotlin в качестве зависимости CocoaPods
В качестве зависимости Pod можно использовать весь проект Kotlin. Для этого необходимо добавить такую зависимость в Podfile проекта, указав её имя и путь к каталогу проекта с созданным Podspec.
Эта зависимость будет автоматически собираться (и пересобираться) вместе с проектом. Такой подход упрощает импорт в Xcode, поскольку отпадает необходимость вручную создавать соответствующие задачи Gradle и шаги сборки Xcode.
Можно добавлять зависимости между проектом Kotlin и проектом Xcode с одной или несколькими целями. Также можно добавлять зависимости между проектом Kotlin и несколькими проектами Xcode. Однако в этом случае необходимо вручную вызывать pod install для каждого проекта Xcode. Если проект Xcode один, это выполняется автоматически.
Проект Xcode с одной целью
Чтобы использовать проект Kotlin в качестве зависимости Pod в проекте Xcode с одной целью:
Создайте проект Xcode, если у вас его ещё нет.
-
В Xcode отключите параметр Песочница пользовательских скриптов в разделе Параметры сборки цели приложения:

В части проекта Kotlin, относящейся к iOS, создайте Podfile.
-
В файле
build.gradle(.kts)общего модуля добавьте путь к Podfile с помощьюpodfile = project.file().Этот шаг позволяет синхронизировать проект Xcode с зависимостями проекта Kotlin, вызывая
pod installдля Podfile. -
Укажите минимальную версию целевой платформы для библиотеки 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") } } -
В Podfile добавьте имя и путь проекта Kotlin, который нужно включить в проект Xcode:
target 'ios-app' do use_frameworks! platform :ios, '16.0' # Pods for iosApp pod 'kotlin_library', :path => '../kotlin-library' end -
Выполните
pod installв каталоге проекта.При первом запуске
pod installсоздаётся файл.xcworkspace. Этот файл включает исходный.xcodeprojи проект CocoaPods. Закройте
.xcodeprojи вместо него откройте новый файл.xcworkspace. Это позволит избежать проблем с зависимостями проекта.Чтобы повторно импортировать проект, выполните в IntelliJ IDEA команду Сборка | Перезагрузить все проекты Gradle (или в Android Studio команду Файл | Синхронизировать проект с файлами Gradle).
Проект Xcode с несколькими целями
Чтобы использовать проект Kotlin в качестве зависимости Pod в проекте Xcode с несколькими целями:
Создайте проект Xcode, если у вас его ещё нет.
В части проекта Kotlin, относящейся к iOS, создайте Podfile.
-
В файле
build.gradle(.kts)общего модуля добавьте путь к Podfile проекта с помощьюpodfile = project.file().Этот шаг позволяет синхронизировать проект Xcode с зависимостями проекта Kotlin, вызывая
pod installдля Podfile. Добавьте зависимости от библиотек Pod, которые хотите использовать в проекте, с помощью
pod().-
Для каждой цели укажите минимальную версию целевой платформы для библиотеки 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") } } -
В 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
-
Выполните
pod installв каталоге проекта.При первом запуске
pod installсоздаётся файл.xcworkspace. Этот файл включает исходный.xcodeprojи проект CocoaPods. Закройте
.xcodeprojи вместо него откройте новый файл.xcworkspace. Это позволит избежать проблем с зависимостями проекта.Чтобы повторно импортировать проект, выполните в IntelliJ IDEA команду Сборка | Перезагрузить все проекты Gradle (или в Android Studio команду Файл | Синхронизировать проект с файлами Gradle).
Что дальше
© 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