develop

Using Cocoapods 코코아팟 사용하기 본문

Library

Using Cocoapods 코코아팟 사용하기

pikachu987 2021. 2. 8. 11:59
반응형

코코아팟이 설치가 되어 있지 않으면 아래의 명령어를 터미널에 입력한다.

$ sudo gem install cocoapods

 

프로젝트를 생성후 프로젝트 폴더에서

$ pod init

이란 명령어를 사용한다.

 

 

그럼 podfile이 생성이 되고 podfile을 텍스트편집기로 열어보면

이런 식의 구조가 만들어져 있을 것이다.

그럼 use_frameworks! 아래부터

pod ‘podName’ 이런식으로 적으면 된다.

이후에 저장하고 터미널로

$ pod install

이라고 입력하면 터미널에서 라이브러리들이 다운 받아지고 폴더 구조가 바뀐다.

그리고 .xcworkspace 을 실행시키면 라이브러리들이 포함된 프로젝트를 실행 할 수 있다.

 

 

라이브러리의 원하는 버전을 넣을 수 있고

pod 'NotificationView', '0.2.4'

원하는 저장소의 라이브러리를 가져올 수 있고 (라이브러리를 Fork 했을때 유용하다.)

pod 'NotificationView', :git => ‘https://github.com/pikachu987/NotificationView.git'

로컬에서도 가져올수 있다.

pod 'NotificationView', :path => '~/Documents/NotificationView'

 

원하는 저장소의 원하는 태그를 넣을수도 있다.

pod 'NotificationView', :git => ‘https://github.com/pikachu987/NotificationView.git', :tag => '0.2.4'

원하는 브랜치도 설정할수 있다.

pod 'NotificationView', :git => ‘https://github.com/pikachu987/NotificationView.git', :branch => 'dev'

원하는 커밋도 설정할 수 있다.

pod 'NotificationView', :git => ‘https://github.com/pikachu987/NotificationView.git',  :commit => '2ad8f1e3b3646b54e7843636d005317c7314ba1d'

그리고 버전을 가져올때 어려가지 연산자를 사용할 수 있다.

pod 'NotificationView', '> 0.2.4' # 0.2.4 보다 높은 모든 버전
pod 'NotificationView', '>= 0.2.4' # 0.2.4를 포함한 높은 버전
pod 'NotificationView', '< 0.2.4' # 0.2.4 보다 낮은 버전
pod 'NotificationView', '<= 0.2.4' # 0.2.4를 포함한 낮은 버전 
pod 'NotificationView', '~> 0.2.4' # 0.2.4 버전부터 0.3보다 낮은 버전

 

여러 타겟을 넣을수 있다. (앱을 production, develop, 등으로 나누어서 관리할때 유용하다)

use_frameworks!

def available_pods
  pod 'Tags', '0.3.1' 
  pod 'WebController', '0.2.0' 
  pod 'NotificationView', '0.2.4' 
  pod 'CropPickerView', '0.2.4' 
  pod 'TransitionController', '0.1.3' 
end

target 'ExampleProduction' do
  available_pods
  inherit! :search_paths
end

target 'ExampleQA' do
  pod 'CalendarPicker', '0.1.1'
  available_pods
  inherit! :search_paths
end

target 'ExampleDevelop' do
  pod 'PageControlView', '0.1.2'
  available_pods
  inherit! :search_paths
end

또는

abstract_target 'Example' do
  pod 'Tags', '0.3.1' 
  pod 'WebController', '0.2.0' 
  pod 'NotificationView', '0.2.4' 
  pod 'CropPickerView', '0.2.4' 
  pod 'TransitionController', '0.1.3' 

  target 'ExampleQA' do
    pod 'CalendarPicker', '0.1.1'
  end

  target 'ExampleDevelop' do
    pod 'PageControlView', '0.1.2'
  end
end

 

반응형
Comments