【Swift】 Carthage에서 RxSwift 가져오기

소개



이 기사에서는 라이브러리 관리 도구 인 Carthage를 Mac에 설치하고 RxSwift를 프로젝트로 가져옵니다.

환경



Mac OS 10.13.6(High Sierra)
Homebrew 1.7.5
Xcode 10.0
Swift 4.2

Homebrew 설치



먼저 Homebrew를 설치합니다.


먼저 작성한 명령을 터미널에 복사합니다.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

설치가 끝나면 버전 확인
brew -v

이것으로 Homebrew 설치가 완료됩니다.

carthage 설치



계속해서 carthage의 인스톨을 실시해 갑니다.

carthage의 README 에 기재되어 있는 이하의 커멘드를 터미널로 실행합니다.
brew install carthage

carthage 소개



carthage를 다음 절차에 따라 프로젝트에 도입합니다.
  • Cartfile 생성
  • Cartfile 편집
  • 라이브러리 설치
  • Xcode 프로젝트에 라이브러리 도입

  • Cartfile 생성



    배포할 Xcode 프로젝트의 디렉토리로 이동하여 Cartfile을 생성합니다.
    cd /YOUR_XCODE_PROJECT
    touch Cartfile
    

    이제 Cartfile을 생성할 수 있었습니다.

    Cartfile 편집



    이어서 생성한 Cartfile을 편집합니다.
    vi Cartfile
    

    Rxswift의 README 에 기재되어 있는 이하를 Cartfile 에 추가합니다.
    github "ReactiveX/RxSwift" ~> 4.0
    

    라이브러리 설치



    Cartfile에 추가한 라이브러리를 설치합니다.
    carthage update
    

    OS를 지정하려면 다음과 같이 OS를 지정하여 설치합니다.
    carthage update --platform ios
    

    다음과 같은 오류가 발생할 수 있습니다.
    xcrun: error: unable to find utility "xcodebuild", not a developer tool or in PATH
    

    이 경우 Xcode 설정에서 Command Line Tool을 설정해야 합니다.





    오류가 발생하면 설정 후 다시
    carthage update --platform ios
    

    합니다.

    프로젝트의 디렉토리내에 Build 디렉토리와 파일을 임포트하면 성공입니다.

    이것으로 라이브러리 설치가 완료되었습니다.

    Xcode 프로젝트로 가져오기



    빌드한 라이브러리를 Xcode 프로젝트로 가져옵니다.

    프로젝트 파일 > General을 선택합니다.
    Linked Frameworks and Libraries의 더하기 버튼에서 Carthage/Build에 있는 RxSwift.framework를 추가합니다.







    그런 다음 프로젝트 파일 > Build Phases
    왼쪽 상단의 더하기 버튼에서 New Run Script Phase를 선택하여 새 Run Script를 만듭니다.



    다음과 같이 새로운 Run Script가 만들어집니다.



    실행 스크립트
    # Type a script or drag a script file from your workspace to insert its path.
    

    에 다음 스크립트를 추가합니다.
    /usr/local/bin/carthage copy-frameworks
    



    그런 다음 해당 라이브러리를 Input Files에 더하기 버튼에서 추가합니다.



    더하기 버튼을 누르면 입력 파일로
    $(SRCROOT)/newInputFile
    

    가 추가됩니다. 여기를 변경합니다.

    newInputFile을 Carthage/Build/iOS/RxSwift.framework 및 라이브러리를 지정합니다.



    필요한 경우 RxCocoa도 마찬가지로 추가합니다.

    추가:


    컨트롤러에 추가



    이제 RxSwift를 사용할 수 있습니다.
    ViewController로 가져와서 사용합니다.

    ViewController.Swift
    import UIKit
    import RxSwift
    import RxCocoa
    
    class ViewController: UIViewController {
        @IBOutlet weak private var button: UIButton!
        private let disposeBag = DisposeBag()
    
        override func viewDidLoad() {
            super.viewDidLoad()
            button.rx.tap
                .subscribe({ _ in
                    // do something
                })
                .disposed(by: disposeBag)
        }
    }
    
    

    샘플 프로젝트



    여기 샘플입니다.
    htps : // 기주 b. 코 m / 하나오 / 카 r 테이 게_Rx 슈 ft_이 m 포 rt

    기타



    잘못된 점 등이 있으면 의견을 부탁드립니다.

    좋은 웹페이지 즐겨찾기