Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- Refresh
- uikit
- PushNotification
- viewlifecycle
- array
- protocol
- Switch
- segue
- singleton
- ScrollView
- mvvm
- self
- NotificationCenter
- SWIFTUI
- class
- 고차함수
- Observer
- escaping
- 화면전환
- SWIFT
- struct
- apns
- Animation
- http
- error
- Git
- calendar
- 글또
- IOS
- list
Archives
- Today
- Total
seong_hye, the developer
Swift) Cocoapods에 대해 알아보자 본문
📘 CocoaPods
Ruby 기반의 iOS/ macOS 개발에서 가장 널리 사용되는 라이브러리 관리 도구
🔹 핵심 기능
기능 | 설명 |
의존성 설치 | Podfile에 원하는 라이브러리를 적고 pod install로 설치 |
버전 관리 | 특정 버전 고정 또는 최신 버전 유지 가능 |
자동 연결 | Xcode 프로젝트에 .xcworkspace 자동 생성 및 연동 |
간단한 업데이트 | pod update로 전체/개별 라이브러리 업데이트 |
🔹 사용 방법
✅ Xcode 프로젝트 폴더로 이동
- 터미널에서 이동
cd ~/파일이름
- 파일에서 오른쪽 클릭에서 터미널 열기
✅ Podfile 생성
pod init
➡️ Podfile이라는 텍스트 파일이 생성됨
✅ Podfile 수정
# platform: ios, '15.0'
target '파일이름' do
use_frameworks!
# Pods for 파일이름
pod 'Alamofire' // 네트워크 라이브러리
pod 'Kingfisher' //이미지 라이브러리
end
✅ 라이브러리 설치
pod install
✅ .xcworkspace 열기
open 앱 이름.xcworkspace
⚠️ 이후에는 .xcodeproj가 아닌 .xcworkspace로 프로젝트를 열어야 함
🔹 자주 사용하는 명령어
명령어 | 설명 |
pod init | Podfile 생성 |
pod install | 처음 설치 또는 새 pod 추가 |
pod update | 전체 또는 특정 pod 업데이트 |
pod deintegrate | CocoaPods 완전 제거 |
pod outdated | 버전 확인 |
🔹 CocoaPods vs 다른 도구
항목 | CocoaPods | SwiftPackage Manager (SPM) | Carthage |
Apple 공식 지원 | X | O (XCode 내장) | X |
설정 난이도 | 보통 | 매우 쉬움 | 어렵고 수동 |
인기 라이브러리 호환성 | 최고 | 점점 증가 | 일부 |
자동 통합 | .xcworkspace | XCode에서 자동 | 수동 통합 필요 |
속도 | 중간 | 빠름 | 느림 |
🔹 CocoaPods을 사용하는 경우
- Kingfisher, Firebase, Aloamofire 등 오래된 인기 라이브러리를 쓰고 싶은 경우
- 아직 SPM을 지원하지 않는 라이브러리르 사용할 때
- 기업용 프로젝트에서 이미 CocoaPods 기반 설정이 있을 경우
'IOS' 카테고리의 다른 글
Swift) Lottie 애니메이션 사용해보기 (0) | 2022.09.22 |
---|---|
Swift) Kingfisher에 대해 알아보기 (0) | 2022.09.20 |
Swift) Alamofire에 대해 알아보자 (0) | 2022.08.02 |
Swift) WidgetKit이란? (0) | 2022.08.02 |
Swift) 문법 정리 - COW(Copy-On-Write) (0) | 2022.08.02 |
Comments