Kotlin 프로젝트를 CocoaPods 의존성으로 사용하기
- Pod 의존성을 추가하기 전에, 초기 구성을 완료하세요.
- 샘플 프로젝트는 GitHub 리포지토리에서 찾을 수 있습니다.
전체 Kotlin 프로젝트를 Pod 의존성으로 사용할 수 있습니다. 그렇게 하려면 프로젝트의 Podfile에 해당 의존성을 포함해야 하며, 그 이름과 생성된 Podspec이 있는 프로젝트 디렉토리의 경로를 지정해야 합니다.
이 의존성은 프로젝트와 함께 자동으로 빌드(및 재빌드)됩니다. 이러한 접근 방식은 해당 Gradle 태스크와 Xcode 빌드 단계를 수동으로 작성할 필요를 없애 Xcode로 가져오는 것을 간소화합니다.
Kotlin 프로젝트와 하나 또는 여러 개의 타겟을 가진 Xcode 프로젝트 간에 의존성을 추가할 수 있습니다. Kotlin 프로젝트와 여러 Xcode 프로젝트 간에 의존성을 추가하는 것도 가능합니다. 그러나 이 경우 각 Xcode 프로젝트에 대해 pod install
을 수동으로 호출해야 합니다. 단일 Xcode 프로젝트의 경우 자동으로 처리됩니다.
- 의존성을 Kotlin/Native 모듈로 올바르게 가져오려면 Podfile에
use_modular_headers!
또는use_frameworks!
지시문이 포함되어야 합니다.- 최소 배포 타겟 버전을 지정하지 않고 의존성 Pod이 더 높은 배포 타겟을 요구하는 경우, 오류가 발생합니다.
단일 타겟을 가진 Xcode 프로젝트
단일 타겟을 가진 Xcode 프로젝트에서 Kotlin 프로젝트를 Pod 의존성으로 사용하려면:
Xcode 프로젝트가 아직 없는 경우, 생성하세요.
Xcode에서 애플리케이션 타겟의 Build Options 아래에 있는 User Script Sandboxing을 비활성화했는지 확인하세요:
Kotlin 프로젝트의 iOS 부분에 Podfile을 생성하세요.
공유 모듈의
build.gradle(.kts)
파일에서podfile = project.file()
를 사용하여 Podfile 경로를 추가하세요.이 단계는 Podfile에 대해
pod install
을 호출하여 Xcode 프로젝트를 Kotlin 프로젝트 의존성과 동기화하는 데 도움이 됩니다.Pod 라이브러리에 대한 최소 배포 타겟 버전을 지정하세요:
kotlinkotlin { 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에 Xcode 프로젝트에 포함하려는 Kotlin 프로젝트의 이름과 경로를 추가하세요:
rubytarget '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에서 Build | Reload All Gradle Projects를 실행하거나 (또는 Android Studio에서 File | Sync Project with Gradle Files를 실행하여) 프로젝트를 다시 가져오세요.
여러 타겟을 가진 Xcode 프로젝트
여러 타겟을 가진 Xcode 프로젝트에서 Kotlin 프로젝트를 Pod 의존성으로 사용하려면:
Xcode 프로젝트가 아직 없는 경우, 생성하세요.
Kotlin 프로젝트의 iOS 부분에 Podfile을 생성하세요.
공유 모듈의
build.gradle(.kts)
파일에서podfile = project.file()
를 사용하여 프로젝트의 Podfile 경로를 추가하세요.이 단계는 Podfile에 대해
pod install
을 호출하여 Xcode 프로젝트를 Kotlin 프로젝트 의존성과 동기화하는 데 도움이 됩니다.pod()
를 사용하여 프로젝트에서 사용하려는 Pod 라이브러리에 의존성을 추가하세요.각 타겟에 대해 Pod 라이브러리의 최소 배포 타겟 버전을 지정하세요:
kotlinkotlin { 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에 Xcode 프로젝트에 포함하려는 Kotlin 프로젝트의 이름과 경로를 추가하세요:
rubytarget '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에서 Build | Reload All Gradle Projects를 실행하거나 (또는 Android Studio에서 File | Sync Project with Gradle Files를 실행하여) 프로젝트를 다시 가져오세요.