의존성 패키지 관리 도구

이건준·2022년 2월 28일
0

문제제기

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

문제해결

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

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

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개의 댓글

관련 채용 정보