Skip to content

iOS 라이브러리 관리도구인 Carthage 를 적용해본 샘플입니다. 미디엄에 글을 쓰고 예제 소스 링크를 위해 만들었습니다.

License

Notifications You must be signed in to change notification settings

ClintJang/sample-ios-carthage

Repository files navigation

iOS Carthage Sample

iOS 라이브러리 관리도구인 Carthage 를 적용해본 샘플입니다.
미디엄에 글을 쓰고 예제 소스 링크를 위해 만들었습니다.

미디엄에 카르타고 설정 방법을 설명한 링크를 작성해 두었습니다.
자세한 설명은 링크를 참고해주세요.

실행시 참고 사항

Brew

macOS 용 패키지 관리자인 Brew 가 설치 되어있어야 합니다.

$ brew update
// 미설치시
$ brew install carthage
// 설치가 된 경우
$ brew upgrade carthage

Carfile

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 를 가져올 수 있도록 하여줍니다.

  1. Run Script 에 추가 : /usr/local/bin/carthage copy-frameworks

  1. input files 에 추가 : $(SRCROOT)/Carthage/Build/iOS/라이브러리명.framework

실행

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)
        
    }
}

** 정상동작 **

About

iOS 라이브러리 관리도구인 Carthage 를 적용해본 샘플입니다. 미디엄에 글을 쓰고 예제 소스 링크를 위해 만들었습니다.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages