iOS 라이브러리 관리도구인 Carthage 를 적용해본 샘플입니다.
미디엄에 글을 쓰고 예제 소스 링크를 위해 만들었습니다.
미디엄에 카르타고 설정 방법을 설명한 링크를 작성해 두었습니다.
자세한 설명은 링크를 참고해주세요.
macOS 용 패키지 관리자인 Brew 가 설치 되어있어야 합니다.
$ brew update
// 미설치시
$ brew install carthage
// 설치가 된 경우
$ brew upgrade carthage
Carfile 을 작성합니다.
- RxSwift 만 라이브러리로 추가했습니다.
github "ReactiveX/RxSwift"
Carthage Update 명령을 통해 업데이트 합니다.
$ carthage update
or
// Tip : iOS 폴더만 생성하기
$ carthage update --platform iOS
- Framework 파일이 생겼습니다.
그리고 프로젝트를 실행해서
Link Binary With Libraries
, Linked Frameworks and Libraries
에서 생성된 Framework 중 사용할 Framework를 추가해 줍니다.
- Link Binary With Libraries
- or Linked Frameworks and Libraries
마지막으로 Run Script 를 추가해서 Framework 를 가져올 수 있도록 하여줍니다.
- Run Script 에 추가 :
/usr/local/bin/carthage copy-frameworks
- input files 에 추가 :
$(SRCROOT)/Carthage/Build/iOS/라이브러리명.framework
- ViewController.swift 에 코드를 추가하고 빌드/실행
import UIKit
import RxSwift // 추가한 라이브러리
import RxCocoa // 추가한 라이브러리
class ViewController: UIViewController {
var disposeBag = DisposeBag()
@IBOutlet weak var testButton: UIButton!
@IBOutlet weak var testLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
testButton.rx.tap
.subscribe(onNext:{ [weak self] _ in
guard let self = self else { return }
self.testLabel?.text = ">>>> 클릭했군!!" })
.disposed(by:disposeBag)
}
}
** 정상동작 **