Swift에서 CocoaPods 사용하기

이선협
Sunhyoup’s Story
Published in
5 min readDec 20, 2014

--

Swift에서 라이브러리 의존성 관리 도구인 CocoaPods를 사용해봅시다.

CocoaPods 소개

Cocoapods는 OS X 혹은 iOS 앱을 개발할 때 사용되는 라이브러리 관리를 도와주는 Maven같은 도구입니다. 기존에 라이브러리 버전 관리와 라이브러리 중복으로 인한 링크 에러로 골치 아팠던 것을 Cocoapods가 해결해 줄 수 있습니다.

CocoaPods 설치

CocoaPods를 사용하기 위해서는 Ruby gem이 필요합니다. 맥에는 ruby가 내장되어 있지만 rbenv를 설치하여 ruby 버전과 gem을 관리할 수 있습니다.

$ # rbenv를 brew로 설치
$ brew install rbenv ruby-build
$ # 루비 버전 설치 현재 가장 최신 버전은 2.1.5
$ rbenv install 2.1.5
$ # 루비 글로벌 버전 설정
$ rbenv global 2.1.5

Ruby 설치가 완료되면 gem을 사용하여 CocoaPods를 설치합시다.

$ # cocoapods 설치
$ gem install cocoapods
$ # 라이브러리 spec을 불러옴
$ pod setup

pod setup까지 마무리되면 CocoaPods 설치가 완료되었습니다. 이제 Xcode 프로젝트를 만들어봅시다. (생략)

Xcode 프로젝트가 만들어졌으면 프로젝트 파일이 있는 폴더에 Podfile을 만들어야합니다.

$ # Xcode 프로젝트 폴더로 이동
$ cd ./…/test
$ # Podfile 파일 생성
$ cat >> Podfile
platform :ios, '7.0'
inhibit_all_warnings!
pod 'AFNetworking'
^C
  1. platform :ios, ‘7.0’
    프로젝트에 대한 설정입니다. 여기서는 iOS 7.0으로 설정했습니다.
  2. inhibit_all_warnings!
    CocoaPods가 생성하는 프로젝트에서 나오는 경고를 표시 여부를 설정하는 옵션입니다.
  3. pod ‘AFNetworking’
    AFNetworking 라이브러리를 설치, 관리합니다.

Podfile 설정이 완료되었으면 다음 명령어를 통해 설정에 등록된 라이브러리를 설치할 수 있습니다.

$ pod install
Analyzing dependencies
Downloading dependencies
Installing AFNetworking (2.5.0)
Generating Pods project
Integrating client project
[!] From now on use `test.xcworkspace`.
$ ls
Podfile Podfile.lock Pods test test.xcodeproj test.xcworkspace testTests

설치가 완료되면 Podfile.lock파일과 Pods 폴더가 생성되고 Pods 폴더 내부에 설치된 라이브러리가 등록되어 있는 Pods 프로젝트와 기존에 만들어둔 프로젝트가 들어가있는 워크스페이스가 생성됩니다.

AFNetworking 라이브러리가 생성되었습니다.

워크스페이스를 열어보면 성공적으로 AFNetworking가 설치된 모습을 확인할 수 있습니다. test 프로젝트와 Pods 프로젝트의 라이브러리는 pod install 하면서 자동으로 링킹됩니다.

하지만 AFNetwoking은 Objective-C로 작성된 라이브러리 입니다. Swift 프로젝트는 바로 사용할 수 없습니다.

Objective-C 파일을 생성하면 위 처럼 Bridging header로 사용할 것이냐고 물어봅니다. Bridging header는 Objective-C와 Swift를 연결해주는 헤더입니다. Bridging header에 Objective-C로 작성된 헤더를 import하면 Swift에서 사용할 수 있습니다. 같이 생성된 m 파일은 삭제해도 됩니다.

이제 Swift에서 AFNetworking 라이브러리를 사용할 수 있습니다.

앞으로 필요한 라이브러리가 있으면 위와 같은 절차로 Podfile에 등록, pod install, Bridging header에 등록을 통하여 사용할 수 있습니다.

사용하고 싶은 라이브러리가 CocoaPods에 등록되었는지 확인하기 위해서는 CocoaPods 공식 홈페이지에서 확인할 수 있습니다.

--

--