SPM 그리고 RxSwift 설치

YeongHyeon Jo·2024년 3월 6일

RxSwift

목록 보기
2/2

실제 프로젝트에 RxSwift를 설치하고 직접 실행하면서 동작을 해보려고한다!
우선 이번에 사용할 것은 Swift Package Manager(SPM)으로 RxSwift를 설치하려고 한다!

SPM은 의존성 관리 도구 중 하나인데 이는 왜 쓰이는걸까요?

의존성 관리 도구

의존성 관리 도구를 간단하게 말하자면 라이브러리를 사용하고 관리하기 위한 도구를 말하게된다.
프로젝트를 개발할 때 다양한 외부 라이브러리를 사용하게 되는데, 이때 해당 라이브러리를 일일이 관리하는게 아니라 손쉽게 일괄적으로 관리할 수 있는 장점이 있다.
그리고 사실 의존성 관리 도구를 사용하면서 실제로 프로젝트에서 사용한 라이브러리나 프레임워크들이 어떤 것이 있는지 한번에 알 수 있으니 추후 나의 취업할 회사의 프로젝트에 있는 코드를 보고 확인할 수 있지 않을까 싶다!

의존성 관리 도구 3가지

1. CocoaPods

  • Ruby 언어로 제작 (Ruby: 객체지향 스크립트 언어로 1995년에 개발. 객관적이고 읽기 쉬운 특징)
  • Podfile 설정 파일을 통해 프로젝트에 필요한 외부 라이브러리를 설치 및 관리
  • 지원하고 있는 라이브러리가 많으며, CocoaPods에서 쉽게 찾을 수 있다.
  • 프로젝트 build 시 Podfile의 모든 라이브러리가 같이 빌드되어 시간이 오래 걸린다.

2. Carthage

  • CocoaPods과는 다르게 프로젝트에 라이브러리의 소스 코드를 직접 포함시키는 것이 아니라, 라이브러리 파일을 다운로드하고 빌드하여 사용 (이미 컴파일된 Binary(프레임워크)를 프로젝트에 등록하는 방식)
  • 프로젝트에 필요한 라이브러리만 다운로드하고 빌드하므로, 프로젝트 빌드 시간을 최적화할 수 있다.
  • 지원하는 라이브러리가 적다.

3. Swift Package Manager

  • Swift 3.0부터 사용되었고, Apple이 Xcode 11을 통해 iOS Swift 코드 배포를 관리하기 위해 추가
  • Package.swift 파일을 통해 프로젝트의 의존성을 정의하고 관리함.
  • 자동으로 빌드 및 테스트를 처리
  • Swift 공식 패키지 관리도구. 1st party(Cocoapods나 Carthage는 3rd party tool)
  • CocoaPods과 비교하였을 때, 아직 지원하지 않는 라이브러리가 많다.

사실상 이전의 경우에는 라이브러리 검색도 편했던 CocoaPods을 사용하여 많이 진행을 하였었다. 하지만 불편했던 점은 라이브러리를 추가할 때마다 pod install을 해줬어야했고 특히 빌드 시간이 길었던게 아주 큰 단점으로 느껴졌다. 그리고 추가적으로 .xcworkspace 파일이 생성되고 해당 파일로 실행해야한다는 점? 이건 그냥 사소한 단점이였다.
Apple에서도 지속적으로 밀고 있는 것이 SPM이다 보니 이제 좀 더 자주 사용을 해보려고 한다.

SPM으로 RxSwift 설치

SPM을 설치하기 위해 File에 있는 Add Package Dependencies를 선택해준다!
처음에 나도 이걸 하기위해 검색을 했는데 다들 Add Packages로 되어있어서 Xcode도 업데이트 열심히 했구나 했지.. 대놓고 종속성 패키지 추가!!! 이렇게 되어 있어서.

암튼 그리고 이제 다운받을 RxSwift를 가야겠지!
RxSwift GitHub로 이동해서 url을 복사해온다.

이렇게 검색란에 복사해온 url을 넣어주면? 이렇게 나와주고 Dependency Rule은 Up to Next Major로 Major 버전 단위로 지정을 해주었다.
Add Package를 하니 아주 많은 Package Product가 나왔다! 두둥~

이제 원래 있던 SnapKit 다음으로 RxSwift도 생겼다!!

잘 설치되었는지 확인하기 위해서 import를 해보니 다행히 잘 검색도 되고 선언도 된다!

아주 만족스럽게 설치도 되었고, 이제 이걸로 테스트를 한번 해보아야겠다!

profile
my name is hyeon

0개의 댓글