【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를 다음 절차에 따라 프로젝트에 도입합니다.
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를 다음 절차에 따라 프로젝트에 도입합니다.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew -v
계속해서 carthage의 인스톨을 실시해 갑니다.
carthage의 README 에 기재되어 있는 이하의 커멘드를 터미널로 실행합니다.
brew install carthage
carthage 소개
carthage를 다음 절차에 따라 프로젝트에 도입합니다.
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.Swiftimport 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
기타
잘못된 점 등이 있으면 의견을 부탁드립니다.
Reference
이 문제에 관하여(【Swift】 Carthage에서 RxSwift 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hananaonao/items/1ac70d5b48e5c21955d6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
carthage update
carthage update --platform ios
xcrun: error: unable to find utility "xcodebuild", not a developer tool or in PATH
carthage update --platform ios
빌드한 라이브러리를 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.Swiftimport 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
기타
잘못된 점 등이 있으면 의견을 부탁드립니다.
Reference
이 문제에 관하여(【Swift】 Carthage에서 RxSwift 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hananaonao/items/1ac70d5b48e5c21955d6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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
기타
잘못된 점 등이 있으면 의견을 부탁드립니다.
Reference
이 문제에 관하여(【Swift】 Carthage에서 RxSwift 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hananaonao/items/1ac70d5b48e5c21955d6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(【Swift】 Carthage에서 RxSwift 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hananaonao/items/1ac70d5b48e5c21955d6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)