티스토리 뷰
Cocoapods, Carthage, SPM을 사용하는 이유는 라이브러리를 사용, 관리하기 위해서다.
[iOS] 프레임워크와 라이브러리
프레임워크와 라이브러리에 대해 설명해보라하면 큰 틀과 느낌은 설명할 수 있을 것 같은데 자세히는 못할 것 같아서 알아본다. 자세히 설명을 못한다는건 모른다는 소리니까! 프레임워크 프레
harryjeon.tistory.com
라이브러리에 관한 내용은 이전 글에서 개념을 잡고오자.
CocoaPods
장점
사용하기 쉽다.
Dynamic, Static 라이브러리를 모두 지원한다.
대부분의 라이브러리가 지원한다.
의존성의 의존성까지 자동으로 관리해준다.
누구나 쉽게 어떤 의존성이 애플리케이션에 있는지 알 수 있다.
단점
라이브러리를 다운받아 설치하는데 시간이 오래걸린다. (pod install, pod update)
프로젝트를 빌드할 때마다 모든 라이브러리들이 함께 빌드되어 빌드 속도가 느리다.
Carthage
장점
Dynamic, Static 라이브러리를 모두 지원한다.
의존성의 의존성까지 자동으로 관리해준다.
누구나 쉽게 어떤 의존성이 애플리케이션에 있는지 알 수 있다.
carthage update 를 실행할 때만 한 번 프레임워크를 빌드하므로 CocoaPods에 비해 프로젝트 빌드 속도가 빠르다.
단점
지원하는 라이브러리가 적다.
의존성이 추가될 때마다 해줘야 하는 번거로운 작업이 있다.
SPM (Swift Package Manager)
장점
애플이 지원한다.
Dynamic, Static 라이브러리를 모두 지원한다.
의존성의 의존성까지 자동으로 관리해준다.
누구나 쉽게 어떤 의존성이 애플리케이션에 있는지 알 수 있다.
Swift 언어에 built-in 되어있어 별다른 설치가 필요없다.
Package.swift파일 이외에 수행할 설정이 없다.
Xcode의 GUI환경에서 관리가 가능하다.
단점
프로젝트를 처음 실행했을 때 인덱싱하는 시간이 걸린다.
CocoaPods보다 지원하는 라이브러리가 적다. 하지만 내가 사용했던 라이브러리에서는 다 SPM을 지원했다.
SPM의 Dependency Rule
Up to Next Major : Major 버전 단위로 지정
Up to Next Minor : Minor 버전 단위로 지정
Range : 버전 범위를 사용자가 직접 설정
Exact : 특정 버전으로 설정 (4.2.1로 설치)
'iOS > iOS' 카테고리의 다른 글
[iOS] Fastlane 적용해보기 (0) | 2023.01.31 |
---|---|
[iOS] 프레임워크와 라이브러리 (0) | 2023.01.04 |
[iOS] 접근권한요청 (카메라, 사진, 위치, 알림) (0) | 2022.06.15 |
[iOS] 다크모드 미 지원 (0) | 2022.06.15 |
[WWDC2022] Platforms State of the Union (0) | 2022.06.09 |
- Total
- Today
- Yesterday
- 곰튀김
- 카메라
- onTapGesture
- CodingTest
- Swift
- AWS Fargate
- strcut
- kakao
- Git
- AWS
- 의미있는이름
- SwiftUI
- Generic
- ObservedObject
- navigation
- Custom
- Xcode
- delegate
- ChatGPT
- MVVM
- Protocol
- enumerations
- frame과 bounds 차이
- file private
- OCR
- rxswift
- Login
- IOS
- docker
- tabview
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |