iOS 통합 방법
Kotlin 멀티플랫폼 공유 모듈을 iOS 앱에 통합할 수 있습니다. 이를 위해 공유 모듈에서 iOS 프레임워크를 생성한 다음, 이를 iOS 프로젝트에 의존성으로 추가합니다.
이 프레임워크를 로컬 또는 원격 의존성으로 사용할 수 있습니다. 전체 코드베이스를 완전히 제어하고 공통 코드가 변경될 때 최종 애플리케이션에 즉시 업데이트를 반영하려면 로컬 통합을 선택하세요.
최종 애플리케이션의 코드베이스를 공통 코드베이스와 명시적으로 분리하려면 원격 통합을 설정하세요. 이 경우 공유 코드는 일반적인 서드파티 의존성처럼 최종 애플리케이션에 통합됩니다.
로컬 통합
로컬 설정에는 두 가지 주요 통합 옵션이 있습니다. Kotlin 빌드를 iOS 빌드의 일부로 만드는 특별한 스크립트를 통한 직접 통합을 사용할 수 있습니다. Kotlin 멀티플랫폼 프로젝트에 Pod 의존성이 있다면 CocoaPods 통합 방식을 사용하세요.
직접 통합
Xcode 프로젝트에 특별한 스크립트를 추가하여 Kotlin 멀티플랫폼 프로젝트에서 iOS 프레임워크를 직접 연결할 수 있습니다. 이 스크립트는 프로젝트 빌드 설정의 빌드 단계에 통합됩니다.
이 통합 방식은 Kotlin 멀티플랫폼 프로젝트에서 CocoaPods 의존성을 가져오지 않는 경우에 적합합니다.
Android Studio에서 프로젝트를 생성하는 경우, 이 설정을 자동으로 생성하려면 Regular framework 옵션을 선택하세요. Kotlin 멀티플랫폼 웹 위자드를 사용하는 경우 직접 통합이 기본적으로 적용됩니다.
자세한 내용은 직접 통합을 참조하세요.
로컬 팟스펙(podspec)을 사용한 CocoaPods 통합
Swift 및 Objective-C 프로젝트의 인기 있는 의존성 관리자인 CocoaPods를 통해 Kotlin 멀티플랫폼 프로젝트에서 iOS 프레임워크를 연결할 수 있습니다.
이 통합 방식은 다음 경우에 적합합니다.
- CocoaPods를 사용하는 iOS 프로젝트와 함께 모노 리포지토리(mono repository) 설정을 가지고 있는 경우
- Kotlin 멀티플랫폼 프로젝트에서 CocoaPods 의존성을 가져오는 경우
로컬 CocoaPods 의존성을 사용하는 워크플로(workflow)를 설정하려면 스크립트를 수동으로 편집하거나 Android Studio의 위자드를 사용하여 프로젝트를 생성할 수 있습니다.
자세한 내용은 CocoaPods 개요 및 설정을 참조하세요.
원격 통합
원격 통합의 경우, 프로젝트는 Swift Package Manager (SPM) 또는 CocoaPods 의존성 관리자를 사용하여 Kotlin 멀티플랫폼 프로젝트에서 iOS 프레임워크를 연결할 수 있습니다.
XCFrameworks를 사용한 Swift Package Manager
XCFrameworks를 사용하여 Swift Package Manager (SPM) 의존성을 설정함으로써 Kotlin 멀티플랫폼 프로젝트에서 iOS 프레임워크를 연결할 수 있습니다.
자세한 내용은 Swift 패키지 내보내기 설정을 참조하세요.
XCFrameworks를 사용한 CocoaPods 통합
Kotlin CocoaPods Gradle 플러그인을 사용하여 XCFrameworks를 빌드한 다음, CocoaPods를 통해 프로젝트의 공유 부분을 모바일 앱과 별도로 배포할 수 있습니다.
자세한 내용은 최종 네이티브 바이너리 빌드를 참조하세요.