-
[iOS] Cocoapods ์ค์น ๋ฐ ์ฌ์ฉ๋ฒiOS 2023. 5. 30. 16:03
์ด๋ฒ ํฌ์คํ ์์๋ Cocoapods ์ค์น ๋ฐ ์ฌ์ฉ๋ฒ์ ๋ํด์ ์์๋ณด๋๋ก ํ ๊ฒ์!
๋จผ์ Cocoapods๋ ๋ฌด์์ผ๊น์?
๊ณต์๋ฌธ์์๋ ์๋์ ๊ฐ์ด ๋์์์ด์!
Cocoapods๋ Swift์ Objective-C Cocoa ํ๋ก์ ํธ์ ์ข ์ ๊ด๋ฆฌ์์ ๋๋ค.
84000๊ฐ๊ฐ ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฐ์ง๋ฉฐ, 3๋ฐฑ๋ง ๊ฐ ์ด์์ ์ฑ์์ ์ฌ์ฉ๋๊ณ ์์ต๋๋ค.
Cocoapods๋ ํ๋ก์ ํธ๋ฅผ ์ฐ์ํ๊ฒ ํ์ฅํ๋๋ฐ ๋์์ ์ค ์ ์์ต๋๋ค.
์ฝ์ฝ์ํ์ ๋ง ๊ทธ๋๋ก ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์๋๋ก ๋์์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ด๋ฆฌ ๋ชจ๋์ ์๋ฏธํฉ๋๋ค.
๋จผ์ Cocoapods๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋จผ์ ์ค์นํด์ฃผ์ด์ผํด์.
ํฐ๋ฏธ๋์ ์คํํด๋ด ์๋ค.
command + ์คํ์ด์ค๋ฐ๋ฅผ ๋๋ฅด๊ณ terminal์ ์ ๋ ฅํ๋ฉด ๋ฉ๋๋ค.

๋๋ ์ด๋ ๊ฒ Launchpad์ ๊ธฐํ ํด๋์ ๊ฐ์ ํฐ๋ฏธ๋์ ์คํํด๋ ๋ฉ๋๋ค.

๋จผ์ ์ค์น๋ฅผ ์ํด์ ์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด์ฃผ์ธ์.
๊ทธ๋ฌ๋ฉด ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ๋ผ๊ณ ๋์ค๋๋ฐ, ์ฌ์ฉํ์๋ ๋งฅ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํด์ฃผ์๋ฉด ๋ฉ๋๋ค.
sudo gem install cocoapods

๊ทธ๋ผ ์ด๋ ๊ฒ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ๋ผ๊ณ ๋์ค๋๋ฐ, ์ฌ์ฉํ์๋ ๋งฅ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํด์ฃผ์๋ฉด ๋ฉ๋๋ค.

์ฌ์ง์ฒ๋ผ Successfully installed cocoapods ๋ฉ์์ง๊ฐ ๋์ค๋ฉด ์ค์น ์๋ฃ์ ๋๋ค.
์ ๋ ์ฌ์ค ์ด๋ฏธ ์ค์น๋ฅผ ์๋ฃํด์ ์ด๋ ๊ฒ ๊ฐ๋จํ๊ฒ๋ง ๋์ค๋๋ฐ, ์ฒ์ ์ค์นํ์๋๊ฑฐ๋ผ๋ฉด ๋ญ๊ฐ ์์ฒญ ๋ง์ด ๋ฐ๊ฑฐ์์!

๊ทธ๋ผ ์ด์ ์ฝ์ฝ์ํ์ ์ฌ์ฉํด๋ณด๋๋ก ํ ๊ฒ์.
ํฐ๋ฏธ๋์ ํตํด์ ์ฝ์ฝ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์ฉํ๊ณ ์ถ์ ํ๋ก์ ํธ ํด๋๋ก ์ด๋ํด์ฃผ์ธ์!
ํฐ๋ฏธ๋์์ ํด๋๋ฅผ ์ด๋ํ ๋์๋ cd ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
cd ํด๋์ด๋ฆ
์ ๋ Example ํด๋ ๋ด์ Example์ด๋ผ๋ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์์ด์.
์ด ํ๋ก์ ํธ์์ ์ฝ์ฝ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ๊ฑฐ์์.
๊ทธ๋ฆฌ๊ณ ํด๋ ๋ด์ ์ด๋ค ๋๋ ํ ๋ฆฌ์ ํ์ผ์ด ์๋์ง ํ์ธํ๊ธฐ ์ํด์ ls ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด๋ณผ๊ฒ์.

์ง๊ธ ์ด ๋๋ ํ ๋ฆฌ์๋ Example, Example.xcodeproj์ 2๊ฐ์ ๋๋ ํ ๋ฆฌ ๋ฐ ํ์ผ์ด ์กด์ฌํ๋ ์ํ์์.
์ด์ ์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด์ฃผ์ธ์.
pod init
๊ทธ๋ฆฌ๊ณ ๋ค์ ํ๋ฒ ls ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด์ ์ด ๋๋ ํ ๋ฆฌ์ ๋ญ๊ฐ ์๋์ง ํ์ธํด๋ณด๋๋ก ํ ๊ฒ์.
Podfile์ด ์๋กญ๊ฒ ์ถ๊ฐ๋ ๊ฒ์ ๋ณผ ์ ์์ด์!

ํฐ๋ฏธ๋ ๋ฟ๋ง ์๋๋ผ ์ง์ ํด๋์์๋ ์ด๋ ๊ฒ ํ์ธ ๊ฐ๋ฅํฉ๋๋ค.

Podfile์ ์์ ํ๋ฉด ์ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ฐ์ ์ ์๋๋ฐ,
ํธ์ง๊ธฐ๋ฅผ ์ด์ด์ Podfile์ ์์ ํด๋ณด๋๋ก ํ ๊ฒ์!
์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด์ฃผ์ธ์.
vi Podfile
*** ์ฐธ๊ณ ๋ก vi ์ธ์
nano Podfile
open -e Podfile
์ด ๋ ๋ช ๋ น์ด๋ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค!
๊ทธ๋ฌ๋ฉด ์๋์ ๊ฐ์ ํ๋ฉด์ด ๋น๋๋ค. ์ด์ Podfile์ ํธ์งํด์ฃผ๋๋ก ํ ๊ฒ์.
์ฌ๊ธฐ์ ๋ฐ๋ก ํ์ผ์ ํธ์งํ๋ ค๊ณ ํ๋ฉด ์์ ์ด ๋์ง ์์ต๋๋ค! ์ง๊ธ์ ์ฝ๊ธฐ ๋ชจ๋์ด๊ธฐ ๋๋ฌธ์ด์์.

๊ทธ๋์ ์ฝ๊ธฐ ๋ชจ๋์์ ์ฐ๊ธฐ ๋ชจ๋๋ก ๋ณ๊ฒฝํด์ฃผ์ด์ผํฉ๋๋ค.
ํค๋ณด๋์์ i๋ฅผ ์ ๋ ฅํ๋ฉด ๋ฐ๋ก ์ฐ๊ธฐ๋ชจ๋๋ก ๋ณ๊ฒฝ๋ฉ๋๋ค.
๊ฐ์ฅ ๋ฐ์ INSERT๋ผ๊ณ ๋์ค๋๊ฑฐ ๋ณด์ด์์ฃ ?! ์ฐ๊ธฐ ๋ชจ๋๋ก ๋ณ๊ฒฝ๋์์ด์!

#Pods for Example ์๋์ pod '๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด๋ฆ'์ ์ ๋ ฅํด์ฃผ์ธ์.
์ ๋ Alamofire ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ฐ์๋ณด๋๋ก ํ ๊ฒ์.
pod 'Moya', '~> 15.0'

์ ๋ ฅ์ ํ์ผ๋, ์ด์ ์ ์ฅ์ ํด์ผํด์.
ESC ํค๋ฅผ ๋๋ฅด๊ณ wq!๋ฅผ ์ ๋ ฅํ ํ, ์ํฐ๋ฅผ ๋๋ฌ์ ํธ์ง๊ธฐ๋ฅผ ์ข ๋ฃํ ๊ฒ์.

๊ทธ๋ผ ๋ค์ ์๊น์ ํฐ๋ฏธ๋ ์ฐฝ์ผ๋ก ๋์์ต๋๋ค.
์ด์ ์๊น ์ ๋ ฅํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํด๋ณด๋๋ก ํ ๊ฒ์!
์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด์ฃผ์ธ์.
pod install
๊ทธ๋ผ ์ด๋ ๊ฒ ์ค์น๊ฐ ์๋ฃ๋ฉ๋๋ค!

ํฐ๋ฏธ๋ ์ฐฝ์ ์ด๋ก์์ผ๋ก ์จ์๋ ๋ฉ์์ง ๋ณด์ด์๋์?

์ด๋ฐ ๋ฉ์์ง๊ฐ ์ ํ์์ด์.
[!] Please close any current Xcode sessions and use 'Example.xcworkspace' for this project from now on.
ํ์ฌ์ Xcode ์ธ์ ์ ์ข ๋ฃํ๊ณ , ์ด์ ๋ถํฐ๋ Example.xcworkspace์์ ์์ ์ ํด๋ฌ๋ผ๊ณ ๋์์์ด์.
Example ํ๋ก์ ํธ๊ฐ ์๋ ํด๋๋ก ๊ฐ๋ณผ๊ฒ์.

์๊น๋ ์๋ Example.xcworkspace๊ฐ ์๋ก ์ถ๊ฐ๋์์ด์.
์๊น ์ค์นํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ Example.xcworkspace์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฌผ๋ก import๊น์ง ํด์ฃผ์ ์ผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค!

์ฌ๊ธฐ๊น์ง Cocoapods ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น ๋ฐ ์ฌ์ฉ๋ฒ์ด์์ต๋๋ค!
'iOS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SwiftUI] DragGesture (0) 2023.08.04 [SwiftUI] ๋๋ฐ์ด์ค์ width, height ๊ตฌํ๊ธฐ (0) 2023.08.03 [iOS] Compiling for iOS 11.0, but module 'ComposableArchitecture' has a minimum deployment target of iOS 13.0 ์ค๋ฅ ํด๊ฒฐ (0) 2023.05.17 [iOS] Swift Package Manager (SPM) ์์ฑํ๊ธฐ (0) 2023.05.16 [iOS] Swift Package Manager (SPM) (0) 2023.05.11