iOS 개발 패키지 관리자
오픈소스 라이브러리를 사용하려면
사용하려는 라이브러리를 설치해주고 버전 관리해줄 패키지 관리자가 필요하다.
1. CocoaPods
설치하는 법
gem install cocoapods
프로젝트가 있는 디렉토리에서 접근
pod init
profile에 필요한 라이브러리 추가 ex) pod 'SnapKit'
다시 터미널에서 pod install
장점
- 가장 많은 라이브러리 지원
- pod outdated 명령어로 새로운 버전관리가 쉽다.
- 사용하기 쉽다.
단점
- 라이브러리를 받아 설치하는데 시간이 많이 걸림
- 프로젝트 빌드할때마다 모든 팟 라이브러리가 함께 빌드되어서 다른 도구보다 프로젝트 빌드시간이 길다.
빌드를 할 때 cocoaPods에 설치된 모든 라이브러리를 빌드를 해서 앱 실행 속도를 매우 느리게 만든다.
그래서 요즘은 SPM을 많이 사용하는 편이다.
2. SPM
Swift Package Manager(1st party)
패키지 추가하는 법
File - add Packages - 사용할 라이브러리의 URL을 넣는다 - 사용한다.
개인적으로 생각했을 때 가장 설치하기 편했음
xcode 11부터 사용가능
장점
- 애플이 지원하는 패키지 라이브러리
- 정말 빠르게 라이브러리 추가 가능
- 별다른 설치가 필요없음
그런데 왜 코코아팟을 많이 사용할까? - SPM을 지원하는 오픈소스가 적다.
- 이용하는데 오류가 있다.(애플이 고쳐주겠지)
이번 프로젝트에서 SPM을 이용해 SnapKit과 RxSwift를 다운받고 위젯킷을 추가로 사용하려고 했을 때 문제가 생겼고
이를 해결하지 못해 결국 cocoapods로 바꿨다. 나중에는 SPM으로 바뀌겠지만 아직은 cocoapods이 더 호환성이 좋다.
결론: SPM으로만으로는 완전하지 않다.
3. Carthage
설치방법
brew update
brew install carthage
장점
- 미리 빌드된 프레임워크를 사용하기 때문에 빌드 속도가 빠르다.
- 모든 프로젝트 구성 권한은 사용자에게 있다.
- 분산형이다.
단점
- 불안정하다
- 라이브러리 지원이 적다.
- 읽기 어렵다. (카르타고)
참고:
- https://brunch.co.kr/@tilltue/58
- https://unnnyong.com/2020/05/18/ios-%EC%98%A4%ED%94%88-%EC%86%8C%EC%8A%A4-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-carthage-cocoapods-swift-package-manager/
- https://coding-sojin2.tistory.com/165
- https://tech.kakao.com/2022/06/02/swift-package-manager/
'iOS' 카테고리의 다른 글
SnapKit (0) | 2022.11.11 |
---|---|
CocoaPods 설치, 오류 해결 법 (0) | 2022.11.11 |