ํฐ์คํ ๋ฆฌ ๋ทฐ
ProjectSetting) Swift Package Manager ๋ฅผ ์ฌ์ฉํด๋ณด์
hyun99999 2021. 8. 27. 10:52๐จ Swift Package Manager ๋ฅผ ์ฌ์ฉํด๋ณด์
Xcode 11 ๋ถํฐ ์ ํ์์ ๊ณต์์ผ๋ก ์ง์ํ๊ณ Xcode ์ ๋ด์ฅ๋ ํจํค์ง ๋งค๋์ ์ด๋ค.
์ฐ์ Swift Package Manager(SwiftPM) ๋ฅผ ์ฌ์ฉํด์ SnapKit ๋ฅผ ์ค์นํด๋ณด์
1๏ธโฃ [Targets] โ [General] โ [Frameworks, Libraries, and Embedded Content] โ [+]
2๏ธโฃ Add Package Dependency...
3๏ธโฃ ์ฌ์ฉํ๊ณ ์ถ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฃผ์๋ฅผ ๊ธฐ์ ํ๋ค.(๊นํ๋ธ ์ฃผ์๋ฅผ ๊ธฐ์ ํด์ฃผ์๋ค.)
4๏ธโฃ ์ค์น ์ ์ํ๋ ๋ฒ์ , ๋ธ๋์น ๋ฐ ์ปค๋ฐ์ ์ค์ ํ ์ ์๋ค.
5๏ธโฃ ์ํ๋ package product ๋ฅผ ๊ณจ๋ผ์ [Finish]
SnapKit ์ด ์ ๋๋ก ์ค์น๋ ๊ฒ์ ํ์ธํ ์ ์์๋ค.
์ด๋ ๊ฒ SwiftPM ๋ฅผ ์ฌ์ฉํด๋ณด์๋ค. ์๊ฐ๋ณด๋ค ์ค์นํ๋ ๊ณผ์ ์ ์ฌ์ ๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด๋ค SwiftPM ์ ์ฅ๋จ์ ๋ค์ด ์๋์ง ์์๋ณด์.
๐จ SwiftPM ์ ์ฅ๋จ์ ์?
โ๏ธ ์ฅ์
- package ๋ฅผ ์ถ๊ฐํ๊ธฐ ์ฝ๋ค. podfile ์ ๊ด๋ฆฌํ์ง ์์๋ ๋๋ค.
- ์จ๋ํํฐ์ CocoaPods ๊ณผ๋ ๋ฌ๋ฆฌ ํผ์คํธํํฐ ํด์ด๋ค. ์ถ๊ฐ์ ์ธ ์ค์น๊ฐ ํ์์๋ค.
- Xcode ์ฌ์ด๋๋ฐ์ ๋ช ํํ๊ฒ ํ์ํ๊ณ ํจํค์ง์ ํ์ฌ ๋ฒ์ ๋ ๋ณด์ฌ์ค๋ค.
โ๏ธ ๋จ์
- CocoaPods ๊ฐ ์์ฑํ๋ Pods/ ๋๋ ํ ๋ฆฌ์ ํด๋นํ๋ ๊ฒ์ด ์๋ค. SwiftPM ์ ์ฌ์ฉํ๋ฉด dependencies ๊ฐ ํ๋ก์ ํธ์ ํ์ ๋ฐ์ดํฐ ๋๋ ํ ๋ฆฌ(~/Library/Developer/Xcode/DerivedData/...) ๊น์์ด ์ ์ฅ๋ฉ๋๋ค.
- ํจํค์ง๋ฅผ ์ ๋ฐ์ดํธํ ๋ all or nothing ์ ์ ํ์ง๋ง ์ฃผ์ด์ง๋ค. ๋จ์ผ ํจํค์ง์ ๋ํ ๋ฒ์ ์ ์ ๋ฐ์ดํธ ํ ์ ์๋ค.
- SwiftPM ์ CocoaPods ์ ๊ฐ์ ์ปค๋ฎค๋ํฐ ๊ธฐ๋ฐ ๋๊ตฌ๋ณด๋ค ๋๋ฆฐ ํ๋ก์ธ์ค๋ค. CocoaPods๋ ์์ ์ฌํญ ๋ฐ ์๋ก์ด ๊ธฐ๋ฅ์ ์ํด ์ ๋ฒ์ ์ ๋น ๋ฅด๊ฒ ๋ฆด๋ฆฌ์ฆํ ์ ์์ง๋ง SwiftPM์ Xcode ๋ฆด๋ฆฌ์ฆ ์ผ์ ์ ๊ตฌ์๋ฉ๋๋ค.
- SwiftPM ์ ํ์ฌ Objective-C ์ Swift ๊ฐ ํผํฉ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ง์ํ์ง ์๋๋ค.
- SwiftPM ์ ํ์ฌ ์ด๋ฏธ์ง, ์คํ ๋ฆฌ๋ณด๋, ์์ฐ ์นดํ๋ก๊ทธ ๋ฑ๊ณผ ๊ฐ์ ๋ฆฌ์์ค ๋ฒ๋ค์ ์ง์ํ์ง ์์ต๋๋ค.
๐จ ์ข ํฉ
- ์๊ณ ๊ฐ๋จํ ํ๋ก์ ํธ์์ ๋ ํผ์ ๊ฐ๋ฐ์ ํ๊ณ dependencies ๋ฅผ ๋ค ์์ ํ๊ณ ์๋ค๋ฉด ์์ ๋จ์ ๋ค์ด ์ํฅ์ ๋ฏธ์น์ง ์๊ธฐ ๋๋ฌธ์ SwiftPM ์ ์ ์ฉํ๋ค.
- ํฌ๊ณ ๋ณต์กํ ํ์์ ์ ๊ฒฝ์ฐ CocoaPods ์ด ์ ํธ๋๋ค.
- ๊ทธ๋ผ์๋ SwiftPM ์ ๊ฐ๋ฅ์ฑ์ด ์๋ค. ์ธ๊ธํ ์ฃผ์ด์๋ค์ ์ฝ๊ฒ ํด๊ฒฐ๊ฐ๋ฅํ๋ค.(ํจํค์ง๋ณ ์ ๋ฐ์ดํธ ์ถ๊ฐ, linking ์ ์ํ ํจํค์ง๋ณ ํ์ผ ์ถ๊ฐ, ํ๋ก์ ํธ ๋ฃจํธ์ SwiftPM/ ๋๋ ํ ๋ฆฌ ์ ์งํ๋ ์ต์ ์ถ๊ฐ, ๋ฒ๋ค ๋ฆฌ์์ค ํฌํจ ํ์ฉ, Objective-C ์ Swift ํผํฉ ํ์ฉ ๋ฑ)
์ถ์ฒ :
'ProjectSetting' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ProjectSetting) CI? CD? ๋ฌด์์ด๊ณ ์ ํด์ผ ํ๋์? (0) | 2022.06.30 |
---|---|
ProjectSetting) git forking workflow ์ ์ฉ (0) | 2022.01.08 |
ProjectSetting) Info.plist ๊ฒฝ๋ก ๋ณ๊ฒฝ ์ ์๋ฌ ํด๊ฒฐ" (2) | 2021.08.26 |
ProjectSetting) ํ๋ก์ ํธ์ SwiftLint ๋ฅผ ์ ์ฉํด๋ณด์ (2) | 2021.08.09 |
ProjectSetting) iOS ํ๋ก์ ํธ ํด๋๋ง (2) | 2021.08.09 |
- rxswift
- CloneCoding
- WWDC22
- MVVM
- WWDC
- RxCocoa
- urlsession
- YPImagePicker
- APNS
- ์๋ฒํต์
- MOYA
- Objective-C
- watchOS
- UserDefaults
- Protocol
- Notification
- containerBackground
- Swift
- projectsetting
- 2022 KAKAO TECH INTERNSHIP
- Widget
- OpenSourceLibrary
- SwiftUI
- async/await
- WidgetKit
- IOS
- Firebase
- Algorithm
- github
- configurable widget
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- Total
- Today
- Yesterday