본문 바로가기

개발도구/iOS - 아이폰 개발

[iOS] CocoaPods 설치과정 및 시행착오

CocoaPods 설치정 및 시행착오



터미널에서 시스템 사용자 권한으로 아래의 명령을 실행하면 설치 완료.

 

$ sudo gem install cocoapods

$ pod setup


위 2줄 처리완료되면 아래는 그냥 넘어감———— 

설치가 안된다면 gem 업데이트.

 

$ gem update --system

 

마운틴 라이언에서 gcc경로 때문에 설치가 안되는 경우가 발생할 있음.

그때는 심볼릭 링크를 만들어서 해결

 

$ sudo -ln s /usr/bin/gcc /usr/bin/gcc-4.2

———————————————————————

 

사용하기

프로젝트 디렉토리에 Podfile 생성. (프로젝트 디렉토리는 . xcodeproj 파일이 포함된 디렉토리를 의미한다.)

 

$ touch Podfile

$ open Podfile

Podfile 아래와 같은 양식으로 프로젝트를 설정한다.

 

platform :ios, '7.1'

pod 'AFNetworking', '~> 2.4'

pod 'JSONKit',       '~> 1.4'

pod 'Reachability',  '~> 3.0.0'

 

Podfile 저장하고 Pod 설치.

 

$ pod install

 Analyzing dependencies

Downloading dependencies

Installing AFNetworking (2.5.0)

Installing PKRevealController (2.0.6)

Generating Pods project

Integrating client project


설치가 완료되면 Pods 폴더와 .xcworkspace 파일이 생성된다.

.xcworkspace 파일을 열어서 확인해 보면 자신의 프로젝트와 추가한 라이브러리들이 의존성 연결 되어 있음을 있다.

Podfile 편집만으로 쉽게 라이브러리들을 관리하고 사용할 있게 되었다.

만약 열려 있던 Test.xcodeproj 프로젝트는 닫고 

Test.xcworkspace 를 다시 오픈한다. 


$ Open test.xcworkspace

 

기타 ———————————————

Pod 사용할 있는 프로젝트 찾기

 

$ pod search JSONKit

 

Pod 전체 리스트

 

$ pod list

 

[!] From now on use `test.xcworkspace`.


$ open test.xcworkspace


pod install 완료되고 나면, Pods 라는 디렉토리가 생성되고, 지정했던 프로젝트들이 다운로드 되어 있는걸 있습니다.

저의 경우에는 AFNetworking, PKRevealController 추가 했기때문에 프로젝트 구조가 아래와 같이 되었습니다.


cocoapods 리스트

https://www.cocoacontrols.com/cocoapods


인스톨 시 오류사항 해결 ————————————————————————

pod install

/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.35.0/lib/cocoapods/user_interface/error_report.rb:13:in `report': incompatible character encodings: UTF-8 and ASCII-8BIT (Encoding::CompatibilityError)


위의 오류는 외국, 국내 의 블로그를 카피하여 붙여 넣으면서 캐릭터 코드가 안 맞아서 벌여지는 현상이다. 예를 들어 아래의 글을 복사해서 넣었다면

platform :ios, ‘7.0’

pod 'AFNetworking', '~> 2.1.0'

pod 'PKRevealController', '~> 2.0.6'


아래의 글로 다시 복사해서 붙여 넣으면 된다. 폰트가 작아 잘 눈엔 띄이진 않지만 확대를 해보면.,,,

platform :ios, '7.1'

pod 'AFNetworking', '~> 2.4'

.

.


platform :ios, ‘7.0’

platform :ios, '7.1'


세미콜론의 차이를 확인할 수 있다. ^^