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