*3rd Party Libraryies: ์ธ๋ถ ์คํ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค
*Cocoapods: Xcode ์์ Library๋ค์ ๊ด๋ฆฌํ๋ ๋๊ตฌ. Cocoapods์ 95,000๊ฐ ์ด์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์กด์ฌํ๋ค.
Xcode ์์๋ ๋ค์ํ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ๊ธฐ ์ํด์ Cocoapods ๋๊ตฌ๋ฅผ ์ค์นํด์ผ ํ๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋์ดํ ํ pod install ๊ตฌ๋ฌธ์ผ๋ก ์๋์ค์นํด์ฃผ๊ณ , pod update ๊ตฌ๋ฌธ์ ํตํด ์๋์ผ๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๋ฐ์ดํธํด์ฃผ๋ ๋ฑ ๊ด๋ฆฌ๊ฐ ์ฉ์ดํ๋ค.
๊ฒ์์ฐฝ์ ์ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฒ์ํ์ฌ ์ฌ์ฉํ ์ ์๋ค.
1. Cocoapods ์ค์นํ๊ธฐ
$ sudo gem install cocoapods
ํฐ๋ฏธ๋์ ํค๊ณ ์ ๊ตฌ๋ฌธ์ ์ ๋ ฅํ๋ค.
1-1) ๋ง์ฝ ์๋ฌ๊ฐ ๋ฐ์ํ์ฌ ์ค์นํ์ง ์์ผ๋ฉด homebrew๋ก ์ค์นํด๋ณด์.
homebrew ์ค์น๋ฅผ ์ํด ํฐ๋ฏธ๋์ ์ ๊ตฌ๋ฌธ์ ์ ๋ ฅํ๋ค.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
homebrew๋ฅผ ํตํด cocoapods ๋ฅผ ์ค์นํ์.
$ brew cleanup -d -v
$ brew install cocoapods
๋๋ homebrew๋ก ์ค์นํ๋๋ฐ๋ ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋์์ ์๋ฌ์์ ํ๋ผ๋ ๋๋ก ์์๋๋ก ํ๋๋ ์ ์์ค์น๋์๋ค.
$ brew install cocoapods
==> Downloading https://formulae.brew.sh/api/formula.jws.json ##################################################################################################### 100.0% ==> Downloading https://formulae.brew.sh/api/cask.jws.json ##################################################################################################### 100.0% Warning: Treating cocoapods as a formula. For the cask, use homebrew/cask/cocoapods Warning: cocoapods 1.12.1 is already installed, it's just not linked. To link this version, run: brew link cocoapods |
$ brew link cocoapods
Linking /usr/local/Cellar/cocoapods/1.12.1... Error: Could not symlink bin/xcodeproj Target /usr/local/bin/xcodeproj already exists. You may want to remove it: rm '/usr/local/bin/xcodeproj' To force the link and overwrite all conflicting files: brew link --overwrite cocoapods To list all files that would be deleted: brew link --overwrite --dry-run cocoapods |
$ brew link --overwrite cocoapods
์ ๊ตฌ๋ฌธ์ผ๋ก ์ ์์ค์น ์๋ฃ!
1-2) Cocoapods๊ฐ ์ ์์ ์ผ๋ก ์ค์น๋์๋์ง ํ์ธํ์.
$ pod --version
์ ์์ ์ผ๋ก ์ค์น๋์๋ค๋ฉด cocoapods์ ๋ฒ์ ์ด ์ถ๋ ฅ๋๋ค.
1-3) setup ํด์ฃผ์.
$ pod setup --verbose
2. Cocoapods ์ฌ์ฉํ๊ธฐ
2-1) ํ๋ก์ ํธ๋ก ์ด๋ํด์ pod ๋ฅผ ์์ํด์ฃผ์
$ pod init
Podfile ์ด ์์ฑ๋ ๋ชจ์ต์ ๋ณผ ์ ์๋ค.
Xcode๋ก ์ด์ด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ ํ์๋ค. Podfile๋ Ruby ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ค.
# platform : ios, '9.0'
์ํ๋ ํ๋ซํผ๊ณผ ํ๋ซํผ์ ์ต์ ๋ฒ์ ์ ์
3. Podfile์ CLTypingLabel ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํด๋ณด์.
pod 'CLTypingLabel'
Podfile์ ์ ๊ตฌ๋ฌธ์ ์ถ๊ฐํ๊ณ ์ ์ฅํ๋ค.
$ pod install
ํฐ๋ฏธ๋์์ Pod๋ก ์ค์นํด์ค๋ค.
Analyzing dependencies Adding spec repo `trunk` with CDN `https://cdn.cocoapods.org/` Downloading dependencies Installing CLTypingLabel (0.4.0) Generating Pods project Integrating client project [!] Please close any current Xcode sessions and use `Flash Chat iOS13.xcworkspace` for this project from now on. Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed. [!] Automatically assigning platform `iOS` with version `13.0` on target `Flash Chat iOS13` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`. [!] Your project does not explicitly specify the CocoaPods master specs repo. Since CDN is now used as the default, you may safely remove it from your repos directory via `pod repo remove master`. To suppress this warning please add `warn_for_unused_master_specs_repo => false` to your Podfile. |
์ ๋ด์ฉ๊ณผ ํจ๊ป ์ค์น๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
Pods ํด๋์ ํจ๊ป Pod๋ฅผ ๊ฐ๊ณ ์๋ xcworkspace ํ์ผ, CLTypingLabel ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ค์น๋์๋ค.
4. xcworkspace ํ๋ก์ ํธ ํ์ผ ์ด์ด์ ์ฌ์ฉํ๊ธฐ.
xcworkspace ํ์ผ์์ Pods ํ์ผ์ ํ๋ก์ ํธ ๋ด์์ ๋ณผ ์ ์๋ค.
4-1) text label ์ ํด๋์ค๋ฅผ CLTypingLabel ๋ก ๋ณ๊ฒฝํ๊ณ ์ฝ๋์ ์ ์ฉํ๊ธฐ
import UIKit
import CLTypingLabel
class WelcomeViewController: UIViewController {
@IBOutlet weak var titleLabel: CLTypingLabel!
override func viewDidLoad() {
super.viewDidLoad()
titleLabel.text = "โก๏ธFlashChat"
}
}
for๋ฌธ์ผ๋ก ๊ธธ๊ฒ ๊ตฌํํ๋ ๋ถ๋ถ์ CLTypingLabel ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ํ์ค๋ก ๊ตฌํํ ์ ์๊ฒ ๋์๋ค.
5. ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ญ์ ํ๊ธฐ
Podfile์์ CLTypingLabel ๊ตฌ๋ฌธ์ ์ญ์ ํ๊ณ ํฐ๋ฏธ๋์์ ๋ค์ pod install ์ ์คํํด์ฃผ๋ฉด ์ญ์ ๋๋ค.
'๐ฑ App Development Study > iOS๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Udemy iOS & Swift Bootcamp] 2. Firebase ์ฌ์ฉํ๊ธฐ(ํ์๊ฐ์ , ๋ก๊ทธ์ธ, ๋ก๊ทธ์์) (0) | 2023.06.20 |
---|---|
[Udemy iOS & Swift Bootcamp] 1. Firebase ์ถ๊ฐํ๊ธฐ (0) | 2023.06.19 |
[Udemy iOS & Swift Bootcamp] Typing Animation(Timers, For loops) (0) | 2023.06.17 |
[Udemy iOS & Swift Bootcamp] Navigation Controller Stack (0) | 2023.06.17 |
Apple Property Lists Document (0) | 2023.05.17 |