Swift에 Library를 설치하는 방법은 몇가지가 있지만 살짝 불편하더라도 심플하고 유연성있는 것을 추구하는 나에게 Carthage가 매력적으로 다가왔다. Carthage의 장점은 Compile시간의 축소를 들 수 있고 단점은 라이브러리 추가시 설정이 필요하다는 부분과 이행파일을 볼 수 없다는 점이다. 또한 Carthage는 iOS8이상을 대상으로 하기 때문에 그 이하 버전을 고려하는 프로젝트에서는 재고해 봐야 한다.
설치 방법
Homebrew를 추천하므로 homebrew방식만 적는다.
brew update
brew install carthage
Project Root폹더에 Cartfile을 생성한다.
그리고 그 안에 자신이 원하는 프로젝트를 작성한다. 예를들어,
github "Alamofire/Alamofire" ~> 4.4
어떻게 작성해야 되는지는 해당 프로젝트에서 Carthage를 지원한다면 잘 나와있을 것이다.
버전옆의 화살표의 의미는
- ==2.0 - 2.0버전
- >=2.0 - 2.0버전보다 큰 버전
- ~>2.0 - 2.0버전과 호환되는 버전
이고
작성 후에는 carthage를 업데이트를 합니다.
carthage update
iOS, tvOS, watchOS등 다양한 플랫폼을 지원하는 라이브러리도 있는데 플랫폼을 한정하고 싶다면 다음과 같이 할 수 있습니다.
carthage update --platform iOS
프레임워크 연결
이제 설치한 라이브러리 프레임워크를 Xcode에 연결해주는 작업이 필요합니다.
- Project -> BuildPhase를 이동하여 왼쪽 위에 +를 눌러 새로운 Run Script를 생성합니다.
- 그 안에서 Shell아래의 script창에 /usr/local/bin/carthage copy-frameworks를 입력합니다.
- 다음 Input Files에 +를 하여 $(SRCROOT)/../Carthage/Build/iOS/Alamofire.framework를 추가해줍니다.
여기까지 하면 컴파일은 잘 됩니다.
하지만 소스에서 import에서 사용하기 위해 General에서 프레임워크 등록이 필요합니다.
- General -> Linked Frameworks and Libraries로 가서 +로 프레임워크를 추가합니다.
이를 마치면 이제 Library를 사용할 수 있습니다.