Методы интеграции с iOS
Вы можете интегрировать общий модуль Kotlin Multiplatform в приложение для iOS. Для этого создайте фреймворк iOS из общего модуля, а затем добавьте его в проект iOS как зависимость:
Этот фреймворк можно подключить как локальную или удалённую зависимость. Выберите локальную интеграцию, если хотите полностью контролировать кодовую базу и получать мгновенные обновления конечных приложений при изменении общего кода.
Если вы хотите явно отделить кодовую базу конечного приложения от общей кодовой базы, настройте удалённую интеграцию. В этом случае общий код будет интегрирован в конечные приложения как обычная сторонняя зависимость.
Локальная интеграция
При локальной настройке есть два основных способа интеграции. Можно использовать прямую интеграцию с помощью специального скрипта, который включает сборку Kotlin в сборку iOS. Если в проекте Kotlin Multiplatform есть зависимости CocoaPods, используйте интеграцию с CocoaPods.
Прямая интеграция
Можно подключить фреймворк iOS напрямую из проекта Kotlin Multiplatform, добавив специальный скрипт в проект Xcode. Скрипт интегрируется в этап сборки в настройках сборки проекта.
Этот способ интеграции подойдёт, если вы не импортируете зависимости CocoaPods в проект Kotlin Multiplatform.
Если вы используете плагин Kotlin Multiplatform для IDE, прямая интеграция применяется по умолчанию.
Подробнее см. в разделе Прямая интеграция.
Интеграция со SwiftPM с локальным пакетом
Фреймворк KMP для iOS может зависеть от локального пакета Swift с помощью Swift Package Manager.
Этот способ интеграции подойдёт, если:
У вас монорепозиторий с проектом iOS, в котором используются пакеты Swift.
В проекте Kotlin Multiplatform нет незаменимых зависимостей CocoaPods.
Инструкции по добавлению локальной зависимости Swift Package в проект см. в разделе Добавление пакетов Swift в качестве зависимостей.
Интеграция с CocoaPods с локальным podspec
Можно подключить фреймворк iOS из проекта Kotlin Multiplatform с помощью CocoaPods — популярного менеджера зависимостей для проектов Swift и Objective-C.
Этот способ интеграции подойдёт, если:
У вас монорепозиторий с проектом iOS, в котором используется CocoaPods.
Вы импортируете зависимости CocoaPods в проект Kotlin Multiplatform.
Инструкции по настройке рабочего процесса с локальной зависимостью CocoaPods см. в разделе Обзор и настройка CocoaPods.
Удалённая интеграция
Для удалённой интеграции проект может использовать Swift Package Manager (SwiftPM) или менеджер зависимостей CocoaPods, чтобы подключить фреймворк iOS из проекта Kotlin Multiplatform.
SwiftPM с XCFrameworks
Можно экспортировать XCFramework из проекта Kotlin Multiplatform и импортировать удалённые пакеты Swift в проект KMP в качестве зависимостей:
Инструкции по созданию и распространению пакета Swift на основе XCFramework см. в разделе Настройка экспорта пакетов Swift.
Инструкции по добавлению пакетов Swift в качестве зависимостей см. в документации по импорту Swift PM.
Интеграция с CocoaPods и XCFrameworks
Можно собирать XCFrameworks с помощью плагина Kotlin CocoaPods 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-ios-integration-overview.html