[CocoaPods] 01. 기본 사용법

요즘(요즘이라기 보단.. 오래되었지만.. 쿨럭) 뭔가를 대충 쓰기 보다는 제대로 알고 써보고 싶다는 생각이 많아진다.
그래서 공부도 하고 레퍼런스도 남길겸, 글들을 정리해서 써보기로 마음먹었다.

“CocoaPods은 Swift와 Objective-C 코코아 프로젝트를 관리하는데 의존적으로 사용된다. 7만8천개 이상의 라이브러리가 존재하며, 이를 통해 만들어진 앱은 3백만개 이상이다. 코코아팟(CocoaPods)는 당신의 프로젝트를 우아하게 만드는데 도움이 될것이다.”라고 코코아팟 사이트에서는 알려주고 있다.

뭘 먼저 해봐야 할가? 설치 아니겠는가?
설치를 해보자.

sudo gem install cocoapods

뭐 명령어 한줄만 치면 자연스럽게 설치가 이루어진다.

이제 iOS 프로젝트 위치로 이동을 해주고 pod을 install해준다.
(‘당신의 프로젝트명’.xcodeproj 파일이 존재하는 위치여야 한다.)

cd /Users/magpiebros/Documents/dev/iOS/SampleRxSwift/SampleRxSwift
pod init

pod을 init하고 나면, Podfile이 생성된다.
아래와 같은 모양의 파일이 생성되었을 것이다.

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'SampleRxSwift' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for SampleRxSwift

  target 'SampleRxSwiftTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'SampleRxSwiftUITests' do
    # Pods for testing
  end

end

이제 # Pods for SampleRxSwift 등의 위치에 원하는 Pod을 설정해주고 install만 해주면 모든 준비가 끝이난다.

난 RxSwift를 설치할것이기 때문에 https://cocoapods.org/pods/RxSwift 에서 가이드 문서를 한번 읽어보고 진행할것이다.
다음과 같이 설정하면, 샘플앱에서 동작하는것이 모두 동작한다고 하니, 다음과 같이 설정해놓고 진행해보겠다.
(각 라이브러리마다 사용법은 다를수 있으니, 가이드 문서를 참고해야 한다.)

# Podfile
use_frameworks!

target 'YOUR_TARGET_NAME' do
    pod 'RxSwift', '6.0.0-rc.1'
    pod 'RxCocoa', '6.0.0-rc.1'
end

# RxTest and RxBlocking make the most sense in the context of unit/integration tests
target 'YOUR_TESTING_TARGET' do
    pod 'RxBlocking', '6.0.0-rc.1'
    pod 'RxTest', '6.0.0-rc.1'
end

이제 내 프로젝트에 있는 Podfile을 변경해보자.

# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'

target 'SampleRxSwift' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for SampleRxSwift
  pod 'RxSwift', '6.0.0-rc.1'
  pod 'RxCocoa', '6.0.0-rc.1'

  target 'SampleRxSwiftTests' do
    inherit! :search_paths
    # Pods for testing
    pod 'RxBlocking', '6.0.0-rc.1'
    pod 'RxTest', '6.0.0-rc.1'
  end

  target 'SampleRxSwiftUITests' do
    # Pods for testing
    pod 'RxBlocking', '6.0.0-rc.1'
    pod 'RxTest', '6.0.0-rc.1'
  end

end

그리고 pod install을 하면 모든 준비는 끝이난다.
몇가지 경고들이 나타나는데, ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES 관련 에러등이 생긴다.

하지만 사용에는 무리가 없으니, 차차 더 깊은 Pod사용법을 정리해보겠다.
아.. 아직 RxSwift는 뭘 써야 좋을지를 정하지 못한 상태다.
한번 길을 잘못가면 되돌아 오기도 쉽지 않으니, 자세히 알아보고 시작하겠다.

  • 참고 사이트
  • https://cocoapods.org
  • https://cocoapods.org/pods/RxSwift