Cocoapods 이란?
애플 관련 프로그램(Swift, Objective-C)을 작성할 때 외부 라이브러리 관리를 도와주는 의존성 관리도구입니다.
CocoaPods.org
CocoaPods is built with Ruby and is installable with the default Ruby available on macOS. We recommend you use the default ruby. Using the default Ruby install can require you to use sudo when installing gems. Further installation instructions are in the g
cocoapods.org
현재 3백만개가 넘는 앱에서 사용중인 도구입니다.
설치방법
저는 사용하고 있는 MacOS와 Xcode가 최신버전이 아니라서인지 설치과정에 문제가 생겨서 아래와 같은 과정을 통해 최종적으로 설치할 수 있었습니다. 현재 저는 MacOS Big Sur 11.3.1, Xcode 13.1 을 사용중에 있습니다.
1. 터미널에서 설치하기
$ sudo gem install cocoapods
터미널에서 위 명령어를 이용하여 설치할 수 있습니다. 저의 경우 extconf faild, exit code 1과 같은 메시지가 뜨면서 설치를 실패하였는데요.
2. Homebrew에서 설치하기
Homebrew를 이용하여 설치가 가능하다고 하여 터미널에서 HOMEBREW 창을 새로 열어서 아래 명령어를 입력하였습니다.
$ brew install cocoapods
만약, Homebrew가 없다면 터미널에서 아래 명령어를 입력하여 설치할 수 있습니다.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
더 자세한 내용은 아래 공식홈페이지에서 확인할 수 있습니다.
Homebrew
The Missing Package Manager for macOS (or Linux).
brew.sh
그러나 저는 Homebrew에서도 아래와 같은 설치에러가 발생하였습니다.
3. Homebrew에서 이전 버전 명시하여 설치
$ sudo gem install -n /usr/local/bin cocoapods -v 1.8.4
-V 를 이용하여 Cocoapods 1.8.4 버전을 설치하였습니다. 최신버전이 아니기 때문에 버전을 업그레이드하라는 안내문구가 뜨지만 무시하고 사용해도 됩니다. 드디어 오류없이 설치할 수 있었습니다.
아래 애플 개발자 포럼의 스레드를 참고하였습니다.
https://developer.apple.com/forums/thread/668456
Trouble with installing cocoapods | Apple Developer Forums
Same problem - XCode 12.3 on Mac OS 10.15.6. Tried the CocoaPod mac app from the CocoaPods about page, which did have an option to install the command line tool, but it was version 1.1.x for some reason.... Brew install did the trick, and installed 1.10.0.
developer.apple.com
4. 설치여부 확인
pod --version
위 명령어를 터미널에서 입력하여 설치여부를 확인할 수 있습니다.
Cocoapods 사용방법
1. 프로젝트 디렉토리에서 pod init
먼저 xcode로 프로젝트를 만든 후 종료한 다음, 터미널에서 해당 프로젝트 디렉토리경로로 이동한 후 $ pod init 명령어를 이용하여 해당 xcode 프로젝트에 Cocoapods를 세팅해줍니다.
$ cd {프로젝트경로}
$ pod init
initialise 가 잘되면 아래처럼 프로젝트 폴더에 Podfile이 생긴 것을 확인할 수 있습니다.
이 Podfile 을 이용하여 외부라이브러리를 프로젝트에 추가하고 관리할 수 있습니다.
또는, Podfile 이라는 이름의 텍스트파일을 추가하고 아래 내용을 입력하여 사용할 수 있습니다. 이 때 플랫폼 등의 버전은 사용하고 있는 프로젝트 환경에 따라 달라질 수 있습니다.
platform :ios, '8.0'
use_frameworks!
target 'MyApp' do
pod 'AFNetworking', '~> 2.6'
pod 'ORStackView', '~> 3.0'
pod 'SwiftyJSON', '~> 2.3'
end
2. Podfile 수정하기
use_frameworks! 아래에, 외부 라이브러리를 입력하여 추가하면 됩니다.
pod '라이브러리이름','버전명'
사용하고자 하는 라이브러리 공식홈페이지에서도 Cocoapods에서의 이용방법을 명시해두고 있습니다. 아래는 네트워크 통신에 사용하는 프레임워크인 Alamofire 의 Cocoapods 사용방법을 캡쳐한 이미지입니다.
저의 경우 해당 프로젝트에 Alamofire와 Charts 라이브러리를 사용하고 싶으므로 아래와 같이 Podfile에 저장 후 종료하였습니다.
3. Podfile 저장 후 pod 설치
아까 켜둔 터미널창에서 아래 명령어를 입력합니다.
$ pod install
설치가 완료되면 아래와 같이 뜹니다. Downloading Dependencies, Installing {LibraryName} (version) 을 거쳐, Generating Pods project, Integrating client project까지 뜨는 것을 확인할 수 있습니다.
4. 이제부터는 xcworkspace를 이용하기
위의 pod install이 제대로 완료되면 해당 프로젝트 폴더에 *.xcworkspace가 새로 생성된것을 확인할 수 있습니다. 새로 설치한 라이브러리를 사용하기 위해서는 기존의 *.xcodeproj 가 아니라 xcworkspace 확장자를 가진 파일을 실행해야 사용할 수 있습니다.
$ open App.xcworkspace
*.xcworkspace 를 열면 아래처럼 Pods 프로젝트가 있는 것을 확인할 수 있습니다.
이제 Pods 내에서 모든 라이브러리를 관리할 수 있습니다.
마치며
오늘도 읽어주셔서 감사합니다.
궁금한 점이 있다면 댓글로, 도움이 되셨다면 공감 부탁드립니다.
혹시 피드백하실 내용 있다면 언제든 댓글로 부탁드립니다.
감사합니다.
'💻 Programming 개발 > 🍎 iOS 개발, Swift' 카테고리의 다른 글
[Swift][번역] 스위프트의 자료구조와 알고리즘 - 섹션 0. 시작하기 전에 (1) | 2022.05.13 |
---|---|
[Swift] 사용자 컬러셋 추가하고 UI Color 확장하여 코드로 접근하게 만들기 (0) | 2022.04.04 |
[Swift]다양한 디바이스에 맞춰 셀 사이즈를 조정하고자 할 때 + 사이즈가 안 바뀌었을 때 해결방법 (CollectionViewDelegateFlowLayout 프로토콜) (0) | 2022.03.17 |
[Swift] 흐름제어구문 (0) | 2022.01.18 |
[Swift] 간편하게 정규표현식을 사용하여 매칭하는 방법 (NSRegularExpression 사용X) (0) | 2022.01.13 |
댓글