ios
[iOS] ์คํ ๋ฆฌ๋ณด๋ ์๋ ํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ | No-storyboard
ํญ์ ์คํ ๋ฆฌ๋ณด๋๋ฅผ ์ฌ์ฉํด์ ํ๋ก์ ํธ๋ฅผ ์งํํด์๋๋ฐ ์ด๋ฒ ํ๋ก์ ํธ์์๋ ์คํ ๋ฆฌ๋ณด๋ ์์ด ์งํํ๊ณ ์ ํ๋ค. ์ด์ฐจํผ UIKit๋ฅผ ์ฌ์ฉํ๊ธฐ๋๋ฌธ์ ๋ค ๋๊ฐ์ง๋ง, ๊ธฐ๋ณธ์ ์ผ๋ก storyboard ์ ํ ์ด ๋์ด์๊ธฐ ๋๋ฌธ์ ์ฐ๊ฒฐ๋ง ๋์ด์ฃผ๋ฉด ๋๋ค. (Step 1) ์คํ ๋ฆฌ๋ณด๋ ํ๋ก์ ํธ์ ๋๊ฐ์ ์ค์ ์ผ๋ก ํ๋ก์ ํธ๋ฅผ ์์ฑํด์ค๋ค. (Step 2) ์ผ์ชฝ์ Navigator์์ Main.storyboard๋ฅผ ์ญ์ ํด์ค๋ค. (Step 3) Project > Targets > General > Deployment Info ์์ Main Interface์ ์ค์ ๋์ด์๋ Main.Storyboard๋ฅผ ์ญ์ ํด์ค๋ค. (Step 4) Project > Targets > Info ์์ Storboard Name์ ์ญ์ ํด์ค๋ค. (Step 5) Scen..
[iOS] App States & View Life Cycle | ์ฑ์ ์ํ์ ๋ทฐ์ ์๋ช ์ฃผ๊ธฐ
์๋ช ์ฃผ๊ธฐ(Lifecycle)์ด๋ ๋ฌด์์ธ๊ฐ? ⇒ ์ธ์ ํน์ ๋ก์ง์ ํ๊ณ ์ถ๋ค๋ฅผ ์ด๋์ ์์ฑํ๋ฉด ๋๋ค๋ผ๋ ๋ฌธ์ ๋ก ๋ณ๊ฒฝํด์ฃผ๋ ๊ฐ๋ App States Not running: ์ฑ์ด ์คํ๋์ง ์๊ฑฐ๋ ์ข ๋ฃ๋ ์ํ Foreground: ํ๋ฉด์ด ๋ํ๋ ์ํ inActive: ์ํธ์์ฉ์ด ๋ถ๊ฐ๋ฅํ ์ํ, ํ๋ฉด์ ๋ณด์ ex) ์ ํ๊ฐ ์์ ๋, ์์คํ ๋ฉ์์ง๊ฐ ๋ด์ ๋ ('๋ฐฐํฐ๋ฆฌ๊ฐ ๋ถ์กฑํฉ๋๋ค') Active: ์ํธ์์ฉ์ด ๊ฐ๋ฅํ ์ํ, ์ฑ์ด ์คํ๋๊ณ ์๋ ์ํ Background: ํ๋ฉด์ด ์ฌ๋ผ์ง ์ํ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ํ์์ ์ค์ง์ ์ธ ๋์์ ํ๊ณ ์๋ ์ํ ex) ํ์ผ ๋ค์ด๋ก๋, ์ ํ๋ธ ์์ ์คํ Suspended: ๋ญ๊ฐ ์ก์๋ ์ํ ๋น ๋ฅธ ์ฌ์คํ์ ์ํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ต์ํ์ผ๋ก๋ง ์ก๊ณ (ํ ๋นํ๊ณ ) ์์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ๋ฉด ์์คํ ์ด Suspe..
[iOS] Xcode Workspace | ๊ฐ Area์ ๋ช ์นญ, ์ญํ
Tool Bar Navigator Area Project navigator: ํ์ผ์ ์ถ๊ฐ, ์ญ์ ๋ฐ ๊ทธ๋ฃนํํ๊ณ ํธ์ง๊ธฐ์์ ํ์ผ์ ์ฐ๋ค. Source Control navigator: ์์ค ์ ์ด ์์ ๋ณต์ฌ๋ณธ, ์ปค๋ฐ, ํ๊ทธ ๋ฐ ์๊ฒฉ ์ ์ฅ์๋ฅผ ๋ณผ ์ ์์. (Git ๊ด๋ จ navigator) Symbol navigator: ํ๋ก์ ํธ๋ฅผ ํด๋์ค์ ๋ฉ์๋ ๊ธฐ์ค์ผ๋ก ์ ๋ฆฌํด์ ๋ณด์ฌ์ค๋ค. Find navigator: ํ๋ก์ ํธ์ ํ๋ ์์ํฌ ์์์ ํ ์คํธ๋ฅผ ์ฐพ๋๋ค. Issue navigator: ํ๋ก์ ํธ์ ์๋ฌ๋ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ๋ณด์ฌ์ค๋ค. Test navigator: Unit test๋ฅผ ์์ฑ, ๊ด๋ฆฌ ๋ฐ ์คํํ๊ณ ์ํ๋ฅผ ๊ฒํ ํ๋ค. Debug navigator: ๋๋ฒ๊ทธ ๊ด๋ จ ๋ฉ์์ง๋ฅผ ๋ณด์ฌ์ค๋ค. Breakpoint navigator..
[iOS] App Project ์์ฑ | Xcode Project / Project / Target
[PROJECT] : ๋ชจ๋ ํ์ผ, ๋ฆฌ์์ค, ์ํํธ์จ์ด ๋น๋์ ํ์ํ ๋ชจ๋ ์ ๋ณด์ ์ ์ฅ์ ํ๋ก์ ํธ์๋ ์ฑ์ ๊ตฌ์ถํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ชจ๋ ์์๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ, ํด๋น ์์ ๊ฐ์ ๊ด๊ณ(relationships)๋ฅผ ์ ์งํ๋ค. ํ๋ก์ ํธ๋ product๋ฅผ buildํ๋ ๋ฐฉ๋ฒ์ ๋ช ์ํ๋ target์ ํ๋ ์ด์ ํฌํจํ๋ฉฐ ๋ชจ๋ target์ ๋ํ ๊ธฐ๋ณธ build setting์ ์ ์ํ๋ค. Info Deployment Target: ์ง์ํ๋ ์ต์ OS ๋ฒ์ Configurations: Debug / Release build setting (๋ณดํต ์ฝ๋๋ฅผ ์คํํ ๋ - Debug, Archiveํ ๋ - Release)⇒ ๋ณด๋ค ๋ ๋ค์ํ ํ๊ฒฝ์์ ํ ์คํธ๋ฅผ ํ๊ธฐ ์ํด configuration์ ์ถ๊ฐํ ์ ์์ ex. ๊ฐ๋ฐ ๋ฒ..
[iOS] info.plist | Xcode 12
Info.plist = Information Property List Files Info.plist๋ Xcode ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ฉด ์๋์ผ๋ก ์์ฑ๋๋ฉฐ ์คํ ํจํค์ง์ ๊ดํ ํ์ ์ค์ ์ ๋ณด๊ฐ ํฌํจ๋ XML์ ์ฌ์ฉํ์ฌ ๊ตฌ์กฐํ๋ ํ ์คํธ ํ์ผ์ด๋ค. iOS ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ธฐ๋ณธ์ ๋ณด๋ฅผ ๋ด์ ๋์ ์ ์๋ ์ค์ ํ์ผ์ด๋ผ๊ณ ํ ์ ์๋ค. XML์ Key, Value๋ก ๊ตฌ์ฑ๋ Dictionary ํํ์ด๋ค. ์์คํ ์ ์ด ํค์ ๊ฐ์ ์ด์ฉํ์ฌ ์ฑ๊ณผ ์ฑ์ ์ค์ ์ ๊ฐ์ ธ์จ๋ค. ๐ก ํน์ ํค or ๊ฐ์ ํธ์งํ๋ ค๋ฉด ๊ฐ์ ๋๋ธํด๋ฆญํ์ฌ ์ ํํ ๋ค์ ์ ๊ฐ์ ์ ๋ ฅํ๋ค. ๐ก ์๋ก์ด ํค๋ฅผ ์ถ๊ฐํ๊ณ ์ถ๋ค๋ฉด (+) ๋ฒํผ์ ๋๋ฅด๊ฑฐ๋ ์์์ ํค๋ฅผ ํด๋ฆญํ๊ณ ์ํฐ๋ฅผ ์น๋ฉด ํด๋น ํค ์๋์ ์๋ก์ด ํค๊ฐ ๋ํ๋๋ค. [ Information Property List ..
[iOS] Completion Handler์ ์ด์ฉํ Loading Progress ๊ตฌํ
GitHub - krimpedance/KRProgressHUD: A beautiful and easy-to-use progress HUD for your iOS. A beautiful and easy-to-use progress HUD for your iOS. - GitHub - krimpedance/KRProgressHUD: A beautiful and easy-to-use progress HUD for your iOS. github.com KRProgressHUD๋ฅผ ์ด์ฉํ์ฌ Loading Progress๋ฅผ ๊ตฌํํด๋ณด์. ์ด์ pod init - pod '์ฌ์ฉํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ' - pod install์ ๋ฃจํด์ ์๋ฒฝ ์ ์ ^-^v Completion handler๋ ์ด๋ ํ ์ผ์ด ๋๋ฌ์ ๋ ์งํํ ์ ๋ฌด๋ฅผ ๋ด๋นํ..
[iOS] WebKit View | ์ฑ์์ Web ํ์ด์ง ์ด๊ธฐ
์ด๊ณ ์ถ์ ์นํ์ด์ง์ URL๋ง ์๊ณ ์๋ค๋ฉด ์ฑ์์ ๋ฐ๋ก ํด๋น ์นํ์ด์ง๋ฅผ ์ด ์ ์๋ค! ๋จผ์ , storyboard์ WebKit View๋ฅผ ์ถ๊ฐํ๋ค. Web View๋ deprecated ๋์๋ค๊ณ ํ๋ค. (old version) Webkit์ ์ฌ์ฉํ๊ธฐ ์ํด ํด๋น ์คํ ๋ฆฌ๋ณด๋์ ์ฐ๊ฒฐ๋๋ ๋ทฐ ์ปจํธ๋กค๋ฌ์ WebKit ํ๋ ์์ํฌ๋ฅผ import ํด์ค๋ค. import WebKit ๋ค์ด๋ฒ๋ฅผ ์ด๊ธฐ ์ํด ๋ค์ด๋ฒ์ ์ฃผ์๋ฅผ url์ ๋ฃ์ด์ค๋ค. import UIKit import WebKit class ViewController: UIViewController { @IBOutlet weak var webView: WKWebView! override func viewDidLoad() { super.viewDidLoad() let ..