레이블이 cocoapods인 게시물을 표시합니다. 모든 게시물 표시
레이블이 cocoapods인 게시물을 표시합니다. 모든 게시물 표시

2016년 10월 26일 수요일

trobleshooting installation issue with CocoaPods

CocoaPods

http://mtsparrow.blogspot.kr/2016/03/cocoapod.html

github에서 좋은 오픈소스를 찾아 iOS프로젝트에 추가 하려고 하면
CocoaPods을 주로 사용 했다.

 프로젝트에 프레임워크를 추가 하기 좋긴 한대 가끔 이게 문제가 생기고
이유 없는 빌드 에러를 만들어 내면 남감 하다.

Xcode에서 이유없는 빌드 에러를 만나거나 오동작 할때는 가끔씩
rm -rf ~/Library/Developer/Xcode/DerivedData

여기를 정리 하곤 한다.

CocoaPods 도 무언가 오동작을 하거나 계속되는 이유없는 빌드 에러를 만날때 
해볼 만한 방법은

pod cache clean frameworkName1
pod cache clean frameworkName2
pod cache clean frameworkName3
pod cache clean frameworkName4
pod deintegrate || rm -rf Pods
pod install --verbose
rm -rf ~/Library/Developer/Xcode/DerivedData


요즘은 Carthage 를 많이 사용하는 것 같다.

하지만 아직 사용방법을 모른다.

나중에 새로운 프로젝트를 시작 할때는 참조 프레임워크를 Carthage로 추가 해봐야 겠다.

2016년 3월 9일 수요일

cocoapod 사용하기

https://cocoapods.org

github에서  좋은 라이브러리를 찾으면 pod install  이런 내용이 보이곤 했다.
머지? 하면서 그냥 무시하고 내려 받고 코드 확인 하고 그냥 내프로젝트에 끌어 놓기 하고
잡아 쓰고 그랬다.

그러다가...

GCM 구글 클라우드 메시지 이넘을 쓰려고 하니
https://developers.google.com/cloud-messaging/ios/start?ver=swift&hl=ko

cocoapods 으로 관련 SDK를 프로젝트에 추가 해야 한다.

그래서 나도 이제 cocoapods를 쓰게 됬다.

거두 절미 하고 나처럼 바로 쓰고 싶은 유저를 위해 간략한 사용방법을 기술 한다.

설치
$ sudo gem install cocoapods

$ pod setup

이제 본인의 xcode 프로젝트 경로에 가서
$ pod init

이렇게 하면 Podfile이 생성된다.

githup에서 사용하고 싶은 라이브러리를 찾았다. 거기에 이런 글이 보일 것이다.


platform :ios, '8.0'
use_frameworks!

target 'MyApp' do
    pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git'
end

Podfile을 위 처럼 편집 하면  SwiftyJSON 라이브러리를 사용하겠다. 는 것이다.

$ pod install

이렇게 하면 자동으로  workspace 파일이 생성되고 이제부터 프로젝트를 워크스페이스 파일로 열면 해당 라이브러가 포함되서 사용 할 수 있다.

GCM, SwiftyJSON, Alamofire 등등을 잡아 쓰는 내 프로젝트에 Podfile 되겠다.

platform :ios, '8.0'
use_frameworks!
source 'https://github.com/CocoaPods/Specs.git'

target 'myappname' do
    
pod 'Google/CloudMessaging'

pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git'

pod 'Alamofire', '~> 3.0'

pod 'Alamofire-SwiftyJSON', :podspec => 'https://raw.githubusercontent.com/pdutourgeerling/Alamofire-SwiftyJSON-Podspec/master/Alamofire3-SwiftyJSON.podspec'


end