본문 바로가기

아이폰/개발일지

[Objective-c] CocoaPods 사용하기

반응형

 

안녕하세요 오늘 포스팅 주제는 'CocoaPods' 입니다. 요즘 포스팅을 열심히 해보려고 노력중인데..

질이 조금 떨어지는 감도 없지않아 있습니다. 그런 부분은 지적해주시면 더 공부해서 내용을 채우도록 하겠습니다.


작성이력

최초 작성 : 17/12/20 

1차 수정 : 18/01/09 ( 라이브러리 추가시 pod 설정 및 이슈사항 ) 



CocoaPods란?


저는 안드로이드 개발을 하다가 아이폰을 접하게된 경우라  모든게 낯설어 있는 상황입니다. 그래서 현재 다른 메뉴에 보시면 '앱만들기'란 주제로 포스팅을 이어 나가고 있는데 그러던중 라이브러리를 사용해서 슬라이드 메뉴를 구현해야했는데 찾던중 발견한게 'CocoaPods' 이하 코코아팟입니다.

코코아팟은 외부 라이브러리를 관리하기 용이하게 해주는 의존성 관리도구라고 생각하시면 될 것 같습니다.  자세한 내용은 여기를 확인해주세요. 

저와 같이 안드로이드를 먼저 접하신분들이라면 gradle의 역할이라고 생각하시면 좋을것 같습니다.



CocoaPods설치

 

저는 맥북환경에서 작업한다고 쓰려고 했는데 모두가 맥북이실테니 터미널을 켜주세요.

터미널 실행시 최초인 루트 디렉토리에서 'sudo gem install cocoapods' 를 입력해주세요.

비밀번호를 입력하면 설치가 끝나기까지 소량의 시간이 소모됩니다.



Pod 설치 

 

 'pod setup' 명령어를 다시 한번 입력합니다. 



Pod 설정

 

루트 디렉토리에서 'pod init' 명령어를 입력하시면 pod 설치에 필요한 기본 파일들이 생성됩니다. 
라이브러리가 필요한 프로젝트 폴더로 이동합니다.


라이브러리 추가


설정을 통해 생선된 파일들중 'Podfile' 이라는 파일을 실행시켜 본문 내용을 수정을 통해 사용하고자 하는 라이브러리를 추가합니다. 

하단에 위치한 'pod 'LGSideMenuController'' 가 라이브러리를 사용하기 위해 명시해준 내용입니다.



그리고 터미널에서 루트 프로젝트 디렉토리 위치에서 'pod install'  명령어를 수행해주면 끝이 납니다.

그 후 해당 프로젝트가 실행중인 xcode를 닫고, 터미널에서 'open ./HomeTranning.xcworkspace/' 입력해주시면 xcode가 실행되고 프로젝트안에 생성된 Pods 폴더를 확인 하실 수 있습니다.



예시에 사용한 라이브러리

 

제가 사용한 라이브러리의 출처입니다. 라이브러리에 아래 사진과 같이 'With CocoaPods'라고 명시되어 있는 부분을 따라 해주시면 되고 전단계에서 작성한 코드 또한 라이브러리에 나와 있는 그대로 따라하시면 됩니다.


 


Pods를 이용한 라이브러리 추가(1차수정)

 

라이브러리를 처음 사용할때 수정한 프로젝트 폴더의 'Podfile'을 내용을 수정해야합니다.  제가 추가적으로 사용할 라이브러리는 'FMDB'입니다.



 


Pods 업데이트(1차수정)

 

라이브러리를 추가하거나 변경하고자 할때는 pod update를 사용합니다.



이슈사항(1차수정)

 

포스팅을 작성하고 추가적으로 라이브러리를 사용하기위해 참고하던 중 명령어가 'pod update' 명령어를 입력시 'no such file or directory' 오류를 내뿜었습니다.

초기 설치된 pods의 문제로 파악해 처음 과정부터 재설치하니 정상적으로 작동했습니다. 참고해주세요!







이제 CocoaPods를 통해 라이브러리를 편하게 이용하세요 ! 



설치에대해 자세한 사항이 궁금하신분은  공식사이트를 참고해주세요.




해당 포스팅은 지극히 주관적인 내용으로 저자의 복기 목적으로 작성된 것이고, 내용에대해 수정이나 추가 요청은 언제든 환영합니다. 






반응형

'아이폰 > 개발일지' 카테고리의 다른 글

[Objective-C] 커스텀 팝업 만들기  (2) 2018.01.08
[Objective-c] 뷰 간의 데이터 전달  (0) 2017.12.27
[Objective-C] 메소드 기초  (0) 2017.12.08
[Objective-C] 클래스 기초  (0) 2017.12.06
[Objective-C] 데이터 타입  (0) 2017.12.04