의존성 패키지 관리 도구

이건준·2022년 2월 28일

문제제기

우리는 오픈라이브러리를 이용하여 프로젝트작성에 사용하게된다, 헌데 하나의 프로젝트에는 보통 여러개의 라이브러리를 필요로 하게되는데 이때 사용하는것이 의존성 관리 도구이다

문제해결

의존성 패키지 관리 도구란 ??

-> 프로젝트에 필요한 외부라이브러리들을 손쉽게 설치하고 관리해주는 도구 
-> 라이브러리를 설치, 삭제, 업데이트와 같은 역할을 담당 

Swift에서 의존성 관리 도구라 하면은 크게 3가지로 나뉘어진다

1. CocoaPods

-> 이는 기존에 내가 많이 사용한 방식으로 가장 많이 쓰이는 의존성 관리 도구이다
-> 루비언어를 이용해 만들어진 관리 도구

$ sudo gem install cocoapods

-> 이 명령어를 통해서 CocoaPods을 설치한다 
-> sudo는 root권한으로 실행, gem은 루비 언어에서 사용하는 의존성관리도구를 실행하라는 명령어 

$ pod init

-> 이를 통해 해당 프로젝트에 podfile을 설치한다
Podfile 내부에 pod 'RxSwift', '~> 5.0’ 
이런식으로 작성하면 명시한 라이브러리를 프로젝트에 설치

$ pod install

-> podfile에 명시된 라이브러리를 해당 프로젝트에 설치

.xcworkspace 생성

-> CocoaPods을 이용해 설치한 라이브러리를 사용하고자한다면 반드시 .xcworkspace로 프로젝트를 열어야 사용가능

장점

	-> podfile을 확인했을때 어떤 라이브러리를 사용하고있는지 확인이 쉽다 
    -> 라이브러리들에 대한 버전이나 종속성 관리를 해준다 
    

단점

	-> 프로젝트를 빌드할때마다 모든 패키지들이 빌드되기때문에 빌드시간이 느리다
    -> 라이브러리를 업데이트하고 설치하는데 오래걸린다 (사실 이 부분은 별로 느끼지못했다, 내가 그만큼 많은 라이브러리들을 한꺼번에 사용해본 경험이 없어서일지도...)
  1. Carthage

3. Swift Package Manager

-> 이번에 토이프로젝트를 하게되면서 코코아팟뿐만 아니라 SPM에 대한 사용법도 간단히 알아보려한다

-> 프로젝트에 대한 General에 들어가보면 위처럼 Framework, Library와 같은 것을 삽입할 수 있는 부분이 존재한다, 여기서 +를 눌러

-> Add Package Dependency를 누른다
-> 이곳에 SPM을 지원하는 GitHub에 나와있는 URL을 넣어준다
-> 그 다음 이곳에 패키지에 해당하는 옵션을 지정해주고 Next를 누르면 SPM을 이용해 라이브러리를 추가할 수 있다

0개의 댓글