티스토리 뷰
iOS앱 개발을 할때 라이브러리르 추가하여 사용하는 방법은 크게 3가지가 있는데, Cocoa Pods(코코아팟), Carthage(카르타고), Swift Package Manager(SPM) 방식이 있습니다. 이 중 Swift Package Manager(SPM) 방식으로 외부 라이브러리를 추가하여 앱에서 사용하는 방법을 알아보겠습니다.
iOS, Swift Package Manager(SPM) 방식으로 라이브러리 추가 및 사용방법
먼저, 사용하고자 하는 라이브러리가 SPM(Swift Package Manager) 방식을 지원하는지를 확인해야 합니다. 사용하려는 라이브러리를 받을 수 있는 github 페이지로 이동해봅니다. 저 같은 경우는 RxSwift 라이브러리를 검색해서 들어가보겠습니다.
1) Swift Package 내에서 또 다른 Swift Package Library 추가하기
보통 readme.md 페이지에서 Swift Pakcage Manager 방식을 지원하는지, CocoaPods, Carthage 같은 타 방식만 지원하는지를 확인할 수 있습니다. 사용하고자하는 라이브러리 git readme.md 페이지에서 package, spm 등의 키워드를 검색해보시면, Swift Package Manager 방식을 지원하는지 간단하게 확인할 수 있습니다.
RxSwift 같은 경우, 위와 같이 Swift Package Manager 방식으로 사용하는 방법을 안내하고 있으므로 지원한다는 것을 알 수 있습니다. Swift Package 내에서 다른 라이브러리를 추가해서 사용하고자 하는 경우는 위와 같이 해당 Swift Package 내의 Package.swift 파일에 라이브러리를 추가하는 코드를 작성하시면 됩니다.
Swift Package 가 아닌 일반 메인 앱 프로젝트에 Swift Package 를 추가하여 사용하고자 한다면, Xcode의 project navigator에서 쉽게 라이브러리 추가가 가능합니다. 아래에서 이어서 확인해보겠습니다.
2) 메인 프로젝트 내에서 또 다른 Swift Package Library 추가하기
Project Navigator에서 우측 클릭을 한 후, "Add Packages..." 메뉴를 선택해줍니다.
앞서 Swift Package Manager 안내 페이지에 있었던 주소를 우상단 입력창에 넣고 검색을 하면, RxSwift 메뉴를 확인 가능합니다.
"https://github.com/ReactiveX/RxSwift.git"
이어서 우하단의 "Add Package" 버튼을 선택합니다.
라이브러리 설치를 할때 위와 같이 다양한 Package Products가 존재하는 경우가 있습니다. 이때 필요한 옵션을 선택한 후, "Add Package" 버튼을 선택해줍니다.
추가를 한 후, project navigator 하단을 보면 Package Dependencies에 RxSwift 라이브러리가 잡히는 것을 보실 수 있습니다.
이제 앱 내에서 import RxSwift, import RxCocoa 등 자신이 추가했던 Swift Package Library가 정상 사용 가능한지 확인을 해줍니다. 그 예시는 아래 영상 참고하시기 바랍니다.
지금까지 RxSwift 등의 라이브러리를 CocoaPods, Carthage 이외의 SPM(Swift Package Manager) 방식으로 추가하여 사용하는 방법을 알아보았습니다. 기타 의견 질문 언제든 댓글 달아주세요. 감사합니다.
'iOS 개발 > iOS 개발 팁' 카테고리의 다른 글
Swift 5.1, Opaque Type 문법, protocol 타입 반환 간 사용방법 (0) | 2022.10.11 |
---|---|
Xcode 팁, 한 화면에 다수의 editor 창 보이게 설정하는 방법 (0) | 2022.10.02 |
StoreKit, iOS앱 리뷰유도 기능 requestReview deprecated 경고 해결방법 (0) | 2022.08.17 |
iOS Xcode 팁, 무선연결로 아이폰 디버깅, 개발방법 (0) | 2022.08.07 |
iOS 개발 중 빌드 안되거나 용량 부족할 때, DerivedData 제거 방법 (0) | 2022.07.23 |
- Total
- Today
- Yesterday
- 스위프트
- 부스트코스
- 백준swift
- 자연어처리
- ios
- 개발자문서
- 컬렉션
- Swift 알고리즘
- createML
- Collection
- 알고리즘문제
- CoreML
- SwiftUI
- 알고리즘
- Protocol
- swift
- swift문제
- 프로그래머스
- 프로그래머스swift
- swift언어
- swift reduce
- swift 문자열
- swift 기초
- 프로토콜
- 백준알고리즘
- publisher
- uikit
- swift string
- 김프매매
- swift알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |