카페앱 iOS, Swift Package Manager 도입기: 모듈화 및 Cocoapods 의존성 관리 문제 해결
·2022.06.02 00:00
핵심 내용
카페앱 iOS 팀이 Swift Package Manager를 도입해 Cocoapods의 수동 의존성 관리 문제를 해결하고, Objective-C/Swift 혼용 프로젝트의 타겟 분리를 통해 모듈화를 진행한 경험을 공유했다.
1 / 16
자세히 보기
카페앱개발파트는 프로젝트 규모 확장에 따른 빌드 속도 개선과 모듈화를 위해 Apple의 공식 종속성 관리 도구인 Swift Package Manager(SwiftPM)를 도입했다. 기존 Cocoapods 사용 시 내부 프레임워크 간 의존성 변경 시 Podfile에 수동으로 추가해야 했던 번거로움을 SwiftPM의 자동 의존성 관리 기능으로 해결했다. 도입 과정에서 Objective-C와 Swift 파일이 혼재된 프로젝트는 SwiftPM의 단일 타겟 제한으로 인해 언어별 타겟을 분리하고 publicHeadersPath를 설정해 해결했다. 또한 Cocoapods와 SwiftPM 병행 시 발생할 수 있는 라이브러리 중복 링크 문제를 방지하기 위해 대부분의 라이브러리를 SwiftPM으로 마이그레이션했으며, 현재 일부 Enterprise 라이브러리를 제외하고 전환을 완료해 향후 Cocoapods 제거를 목표로 하고 있다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.