1. Synopsis

CocoaPods 는 공식지원판이 아닌 Objective-C의 의존성 관리 도구입니다. Objective-C 의존성을 위한 RubyGems라고 보셔도 무방합니다.

CocoaPods안에서 의존성은 Pods라고 불립니다. http://cocoapods.org 에서 사용가능한 Pods의 목록과 더 자세한 정보를 보실 수 있습니다.

2. Installation

먼저 CocoaPods를 설치하고 설정해야 합니다. CocoaPods를 설치하는 방법은 installation guide 를 참조 하세요. 설치하셨으면 다음을 실행 합니다.

$ pod setup

The RubyMotion의 CocoaPods 도 gem으로 설치 가능합니다.

$ sudo gem install motion-cocoapods

3. Usage

프로젝트의 Rakefile 안에 gem을 require해야 합니다.

require 'rubygems'
require 'motion-cocoapods'

이제 애플리케이션 설정에서 Podfile을 사용 하던 것 처럼 간단히 pods 메소드를 사용해 require할 Pods를 적을 수 있습니다.

예를들어 AFNetworking Pod를 사용하고 싶으시다면,

Motion::Project::App.setup do |app|
  # ...
  app.pods do
    pod 'AFNetworking'
  end
end

그런 다음 프로젝트에 CocoaPods 통합을 실행해 소스를 다운로드 받고 다음에 프로젝트를 빌드할 때 AFNetworking 을 포함하도록 설정하게 합니다.

$ rake pod:install

이제 프로젝트의 애플리케이션 빌드할때 AFNetworking 의 소스를 빌드, 실행파일에 링크합니다.

$ rake
     Build ./build/iPhoneSimulator-7.1-Development
     Build ./vendor/Pods/Pods.xcodeproj [AFNetworking - Release]
   Compile ./vendor/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperation.m
   Compile ./vendor/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperationManager.m
   Compile ./vendor/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.m
   Compile ./vendor/Pods/AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m
   Compile ./vendor/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m
   Compile ./vendor/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.m
   Compile ./vendor/Pods/AFNetworking/AFNetworking/AFURLConnectionOperation.m
   Compile ./vendor/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.m
   Compile ./vendor/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.m
   Compile ./vendor/Pods/AFNetworking/AFNetworking/AFURLSessionManager.m
      Link ./vendor/Pods/.build/libPods-AFNetworking.a
     Build ./vendor/Pods/Pods.xcodeproj [Pods - Release]
      Link ./vendor/Pods/.build/libPods.a