코코아팟(CocoaPods) 활용하기

2019. 7. 10. 14:13 IOS/xcode | IOS

iOS 개발을 하다 보면 코코아팟에 대한 언급을 종종 마주치게 됩니다. 코코아팟은 “The Cocoa Dependency Manager”로서, Cocoa 환경(macOS, iOS 등) 프로젝트에서 사용하는 라이브러리들을 관리해주는 툴입니다.

코코아팟이 있기 전에는 예를 들어 앱에서 페이스북 로그인 기능을 구현하려고 한다면, 페이스북 SDK를 수동으로 다운받고 프로젝트에 추가한 후에 각종 필요한 프레임워크를 일일히 추가해줘야 했습니다. 또한 빌드 설정도 건드려야 했죠. 만일 SDK 버전이 업데이트 되면 새로운 파일을 또 수동으로 받고 덮어쓴 후, 프레임워크와 빌드 설정을 다시 확인해야 했습니다. 라이브러리의 숫자가 늘어날 수록 이 과정은 고통스러웠습니다.

코코아팟을 이용하면 이 과정이 훨씬 수월해집니다. 코코아팟이 하는 역할을 보통 디펜던시 매니저(dependency manager)라고 하는데, 이 개념은 루비젬(RubyGems)에서 영향을 받았습니다. 루비젬은 오픈소스 라이브러리를 쉽게 가져와서 쉽고 편하게 활용하기 위해 만들어졌고, 이후에 오픈소스 커뮤니티가 발전하는데 공헌하였습니다.

코코아팟은 사용할 라이브러리의 목록을 텍스트 파일에 저장해두면, 해당 라이브러리를 설치하고 업데이트 하며, Xcode 프로젝트 연결을 위한 설정까지 쉽게 할 수 있게 해줍니다.


활용법

설치

설치를 위해서는 먼저 최신 버전의 Xcode가 설치되어 있어야 합니다. 아래와 같이 터미널(Terminal)에 입력합니다.

$ sudo gem install cocoapods

Podfile 설정

이제 코코아팟을 사용할 Xcode 프로젝트 파일이 있는 폴더로 이동하여 Podfile을 생성합니다. 아래 예시의 경우 필요한 최소 iOS 버전, 프레임워크로서 사용 여부 (Swift 사용시 필수), 어떤 타겟에서 사용할 것인지 (아래의 경우 MyApp), 라이브러리 명과 버전을 포함하고 있습니다. 라이브러리의 검색은 https://cocoapods.org에서 하실 수 있습니다.

platform :ios, '8.0'
use_frameworks!
target 'MyApp' do
  pod 'AFNetworking', '~> 2.6'
  pod 'ORStackView', '~> 3.0'
  pod 'SwiftyJSON', '~> 2.3'
end

라이브러리 설치

Podfile을 만들었다면, 아래 명령어로 라이브러리를 설치합니다. Pods라는 폴더가 생성되고 라이브러리들이 그 안에 저장됩니다. 코코아팟과의 연결 설정이 저장된 Xcode 워크스페이스 파일도 생성됩니다. 이후 개발은 이 파일을 열어서 하게 됩니다.

$ pod install

라이브러리 활용

이제 포함된 라이브러리들은 Swift 기준, 아래와 같이 사용 할 수 있습니다.

import Reachability

라이브러리 업데이트

이후에 내가 사용하는 라이브러리들이 업데이트 된다면 Podfile을 열어서 버전을 수정한 후 다음과 같이 입력합니다.

$ pod update

출처 : https://blog.shako.net/using-cocoapods/