์ฑ์ ์๋ช ์ฃผ๊ธฐ
์ฑ์ ์๋ช ์ฃผ๊ธฐ๋ฅผ ์์๋ณด๊ธฐ ์ ์, ์๋ช ์ฃผ๊ธฐ์ ์ ํํ ์ ์๋ฅผ ์์๋ณด๋ ค ํฉ๋๋ค. ์ฑ์ ์๋ช ์ฃผ๊ธฐ๋ ์ฑ์ ์ต์ด ์คํ๋ถํฐ ์์ ํ ์ข ๋ฃ๋ ๋๊น์ง ์ฑ์ด ๊ฐ์ง๋ ์ํ์ ๊ทธ ์ํ๋ค ์ฌ์ด์ ์ ์ด๋ฅผ ์๋ฏธํฉ๋๋ค.
์ฑ์ ์๋ช ์ฃผ๊ธฐ๋ ์ด 4๊ฐ์ง๋ก ๋ถ๋ฅํ ์ ์์ต๋๋ค.
1) Not Running: ์ฑ์ด ์์๋๊ธฐ ์ ์ํ
2) Foreground : ์ฑ์ด ํ๋ฉด์ ์ฌ๋ผ์ ์๋ ์ํ
- Active : ์ฑ์ด ํ๋ฉด์์ ์คํ ์ค์ธ ์ํ
- Inactive: ์ฑ์ด ํ๋ฉด์์ ์คํ ์ค์ด๋ ์ด๋ค ์ ํธ๋ ๋ฐ์ง ์๋ ์ํ (ex. ๋ฏธ๋ฆฌ ์๋ฆผ์ด ๋ ์ ์ฑ์ด ์ค์ง์ ์ผ๋ก ์ด๋ฒคํธ๋ฅผ ๋ฐ์ง ๋ชปํ๋ ์ํ)
3) Background: ์ฑ์ด ํ๋ฉด์ ๋ณด์ด์ง ์๋ ์ํ (ex. Apple Music ํ๋ฉด์ด ๋ณด์ด์ง ์์๋ ์์ ์ด ์คํ๋๋ ๊ฒฝ์ฐ)
4) Suspend: ์ฑ์ด ๊ณง ์ข ๋ฃ๋ ์ํ
AppDelegate vs SceneDelegate
App Delegate ๋ง์ ์ฌ์ฉํ๋ ๊ณผ๊ฑฐ์ ๋ฌ๋ฆฌ, AppDelegate ์ SceneDelegate ๋ก ์ญํ ์ ๋ถ๋ฆฌํ๊ฒ ๋ ์ค์ํ ๊ณ๊ธฐ๋ iOS 13 ์์ iPadOS ์ ๋ฑ์ฅ์ด์์ต๋๋ค. iPadOS์ ๋ฑ์ฅ์ผ๋ก ๋ฉํฐ์๋์ฐ ๊ธฐ๋ฅ์ด ๋ค์ํด์ง๊ฒ ๋์๊ณ , ์ด์ ๋ฐ๋ผ UI ๋ผ์ดํ ์ฌ์ดํด์ด ๋ค์ํด์ง๋ฉด์ ์ด๋ฅผ ๊ด๋ฆฌํด์ค ๊ฐ์ฒด๊ฐ ํ์ํด์ก์ต๋๋ค.
โผ
์ด๋ ๊ฒ iOS 13 ์ดํ์๋ App Delegate ์์๋ ์ฑ์ด ๋ฐ์น๋๋์ง ์ข ๋ฃ๋๋์ง์ ๋ํ ์ฑ ํ๋ก์ธ์ค ์ํ๋ฅผ ๋ด๋นํ๊ฒ ๋์๊ณ , Scene Delegate ์์๋ Background, Foreground ๋ฑ์ UI ๋ผ์ดํ ์ฌ์ดํด์ ๋ด๋นํ๊ฒ ๋์์ต๋๋ค.
๋คํฌ ๋ชจ๋
iOS 13 ์ด์ ๋ฒ์ ์์ ๋ฑ์ฅํ ๊ฒ์ด ๋ฐ๋ก ๋คํฌ ๋ชจ๋์ ๋๋ค. ๋คํฌ ๋ชจ๋๋ฅผ ์ง์ํ ๊ฒฝ์ฐ, ๊ฐ์ด ๋ง์์ง๊ธฐ ๋๋ฌธ์ ์ปฌ๋ฌ, ์ด๋ฏธ์ง, ์์ด์ฝ ๋ฑ์ ๋ณ๋๋ก ๊ด๋ฆฌํด์ฃผ์ด์ผ ํฉ๋๋ค.
iOS ๋ง์ ๋ ํนํ ์ปฌ๋ฌ์ฒด๊ณ์๋ Semantic Colors ๊ฐ ์์ต๋๋ค. ์ด๋ ์ปฌ๋ฌ๊ฐ ์ฌ์ฉ๋๋ ๋ชฉ์ ๊ณผ ์ ์ฉ๋๋ UI์ ๋ฐ๋ผ ๋ค์ด๋ฐํ๊ณ ์์คํ ํํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ด๋ฟ๋ง ์๋๋ผ, System Colors ์ ๋์ ์ผ๋ก ์ปฌ๋ฌ์ ์ข ๋ ์ธ๋ถ์ ์ธ ์๋ฏธ๋ฅผ ๋ด์ ์ ์๊ฒ ๋์์ต๋๋ค.
๋คํฌ๋ชจ๋์์ System Colors ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ Custom Colors๋ฅผ ์ด์ฉํ๋ค๋ฉด ์์์ด ๋ฐ์ ๋์ง ์๊ณ , ์ง์ ํ ์๊ณผ ๋์ผํ ์์์ผ๋ก ํํ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด์ ๊ฐ์ด ์ข ๋ ํธ๋ฆฌํ๊ฒ ๋คํฌ๋ชจ๋์ ๋์ํ๊ธฐ ์ํด์ Asset Colors ๋ฅผ ํ์ฉํ์ฌ ์ข ๋ ํธ๋ฆฌํ๊ฒ ๋คํฌ ๋ชจ๋ ๊ฐ๋ฐ์ ํ ์๋ ์์ต๋๋ค.
Asset Colors ์ Appearance๋ฅผ ์ดํด๋ณด๋ฉด Any, Dark ์ Any, Light, Dark ๋ก ๋๋๋ ๊ฒ์ ์ ์ ์์ต๋๋ค. Any, Light, Dark๋ ๋คํฌ ๋ชจ๋๊ฐ iOS 13 ์ด์ ๋ฒ์ ์์ ๋ฑ์ฅํ๊ธฐ ๋๋ฌธ์ iOS 13 ๋ฏธ๋ง์ ๋ฒ์ ๋ํ ๋์ํ๊ธฐ ์ํด์ ํ์ํ ํญ๋ชฉ์ ๋๋ค.
๋คํฌ๋ชจ๋๋ฅผ ์ฐ์ง ์๊ณ ๊ฐ๋ฐํ๊ธฐ ์ํด์๋ Appearance ๋ฅผ Light๋ก ๋ณ๊ฒฝํ๋ ์ค์ ์ ํด์ฃผ์ด์ผ ํฉ๋๋ค.
์ธ๋ก ๋ชจ๋ ๊ณ ์ (Build Settings)
ํ๋ฉด์ด ๋์๊ฐ์ง ์๊ฒ ํ๊ธฐ ์ํด์๋ ์ธ๋ก ๋ชจ๋๋ฅผ ๊ณ ์ ํ๋ ๊ณผ์ ์ด ํ์ํฉ๋๋ค. ์ด๋ Build Settings ์ ๋ค์ด๊ฐ์ ํ ์ ์์ต๋๋ค.
์ด๋ ๊ฒ ์กฐ์ ์ ํด์ฃผ๋ฉด ์ธ๋ก๋ชจ๋๋ก ํ๋ฉด์ ๊ณ ์ ์ํฌ ์ ์์ต๋๋ค.
UIWindow
UIWindow ๋ ๊ฐ๋จํ ๋งํ๋ฉด View ์ ์ด๋ฒคํธ๋ค์ ์ ๋ฌํ๋ ์ญํ ์ ํ๋ค๊ณ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๊ธฐ ๋๋ฌธ์, iOS ์ฑ์ ์ต์ 1๊ฐ ์ด์์ UIWindow ๋ฅผ ๊ฐ์ง๊ณ ์๋ค๊ณ ํ ์ ์์ต๋๋ค.
UIWindow ๋ iOS 13 ์ดํ Scene Delegate ๋ก ๋์ด๊ฐ๊ธฐ ๋๋ฌธ์, iOS 13 ์ด์ ๋ฒ์ ์ ๋์ํ๊ธฐ ์ด๋ ต์ต๋๋ค. ๊ทธ๋ฌ๊ธฐ ๋๋ฌธ์ App Delegate ์๋ @available(iOS 13.0, *) ์ ์ ์ด์ฃผ์ด์ผ iOS 13 ์ด์ ๋ฒ์ ์์๋ ์ ์์ ์ผ๋ก ๋น๋ ๋ ์ ์์ต๋๋ค.
'iOS > TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
22.07.18 - 19 ใ ฃ Enum CaseIterable & Table View (0) | 2022.07.19 |
---|---|
22.07.13 ใ ฃ Class & Struct (0) | 2022.07.14 |
22.07.12 ใ ฃ์ด๊ฑฐํ & ํจ์์ ๋ฐํ๊ฐ & Raw String (0) | 2022.07.12 |
22.07.05 ใ ฃ UIKit Framework (0) | 2022.07.05 |
22.07.04ใ ฃ ์ฑ์ ๊ตฌ์กฐ์ ๋์ ์๋ฆฌ & iOS ์ ํน์ง & Xcode ์ฃผ์ ๊ธฐ๋ฅ (0) | 2022.07.04 |