티스토리 뷰
안녕하세요 :) Zedd입니다.
저번글은 Carthage에 대한 이론적인 공부였다면..오늘은 직접 사용해보도록 하겠습니다.
# 설치
설치방법은 여기에 나와있습니다. 설치방법이 4가지 정도 되는데, 저는 Homebrew를 이용하여 설치해볼게요.
brew install carthage
Carthage최신버전을 확인해서 최신버전으로 잘 설치가 되었는지 확인해주세요.
# 사용
1. 사용할 프레임워크/라이브러리 찾기
저번글에서도 말했지만, Carthage는 decentralized dependency manager이기 때문에..찾기가 CocoaPods보다 힘듭니다.
찾기 쉬운 방법은 Github 토픽에 Carthage를 검색하는 것 같아요~
그럼 이렇게 Carthage를 지원하는 저장소들이 쫙 나옵니다.
저는 Alamofire를 사용해볼게요!
2. 프로젝트 준비
3. Cartfile 파일 만들기
Cartfile은 프로젝트의 종속성을 설명하는 파일이라고 보면 됩니다.
4. 사용하고자 하는 프레임워크/라이브러리 저장소 가기
저는 Alamofire를 사용할거니까..저장소로 가줍니다.
보통 Installation부분에
이렇게 나와있을텐데, 복사해줍니다.
5. Cartfile에 붙혀넣기
그냥 이렇게 넣어주세요.
Cartfile의 예는 여기서 볼 수 있으니 확인해주세요!
6. carthage update --use-xcframeworks 실행
Carthage문서에서는 위 명령어를 실행하라고 되어있는데요. 명령어를 실행하면
막 이렇게 빌드를 합니다. 저번글에서 말했던 미리 빌드한다는게 이 단계에서 하게 되는거에요!
Carthage / Checkouts 폴더가 생겼을텐데, 이 폴더로 종속성을 가져와서 빌드를 하게 되고,
빌드 된 결과를 Carthage / Build로 이동시킨다고 합니다.
지금 iOS이외의 플랫폼것들도 다 빌드를 하는데요, iOS만 빌드를 해주고싶다!!고 하면
carthage update --use-xcframeworks --platform iOS
이렇게 플랫폼을 지정하면 됩니다.
그럼 이렇게 iOS만 빌드해요!
7. 프로젝트와 연결
저번글에서
Carthage는 바이너리 프레임워크를 다운로드 & 빌드까지만 하고 다른 모든 작업은 개발자에게 맡겨집니다.
라고 했는데, 이제 이 빌드한 프레임워크를 프로젝트와 연결시켜주는 작업은 우리의 몫이에요.
타겟의 General 탭에 가서
아래로 내리면 Frameworks, Libraries, and Embedded Content 섹션이 있습니다.
여기에
Carthage / Build 폴더에 있는 .xcframework파일을 추가해줘야합니다.
왼쪽 아래 + 버튼을 눌러서 추가하거나,
이렇게 드래그 앤 드롭으로 가져올 수도 있습니다.
그럼 이제
프레임워크 사용이 가능해집니다 ~.~
그냥 왠지 모르게 Carthage는 어려울 것 같았는데..하나도 안어렵네요!!
그리고 좋은점..
xcworkspace가 안생긴다..!!!!!!
🙋 : 여기에 가보면..Build Script를 추가하더라구요..Carthage문서에는 따로 Build Script를 추가해라~는 없던데
안해도 되는거겠죠...!? (문서에 보면, 종속성을 복사하고 싶을 때 위 Build Script를 추가하라고 되어있어요.)
참고
'공부' 카테고리의 다른 글
extension Reactive (1) | 2021.04.28 |
---|---|
PinLayout 사용해보기 (0) | 2021.04.21 |
Carthage (0) | 2021.04.15 |
Swift ) Quick / Nimble 간단하게 사용해보기 (0) | 2021.04.14 |
Diffable Datasource - supplied item identifiers are not unique (1) | 2021.04.12 |
- swift delegate
- 스위프트 문법
- Accessibility
- swift3
- swift tutorial
- WidgetKit
- fastlane
- actor
- github
- Swift
- Combine
- swift sort
- 피아노
- WKWebView
- np-complete
- IOS
- Xcode
- np-hard
- swift array
- UIBezierPath
- FLUTTER
- iOS delegate
- swift 공부
- Git
- ios 13
- 스위프트
- 회고
- 제이슨 파싱
- SwiftUI
- WWDC
- Total
- Today
- Yesterday