1๏ธโฃ ์ ์
์ฑ์ ๊ณต์ ๋ ๋์์ ๊ด๋ฆฌํ๊ธฐ ์ํ ์ผ๋ จ์ ๋ฐฉ๋ฒ๋ค
@MainActor
protocol UIApplicationDelegate
2๏ธโฃ ์ค๋ช
- ์ฑ ๋ธ๋ฆฌ๊ฒ์ดํธ ๊ฐ์ฒด๋ ์ฑ์ ๊ณต์ ๋์์ ๊ด๋ฆฌํจ
- ์ฑ ๋ธ๋ฆฌ๊ฒ์ดํธ๋ ์ฌ์ค์ ์ฑ์ ๋ฃจํธ ๊ฐ์ฒด์ด๋ฉฐ, UIApplication๊ณผ ํจ๊ป ์๋ํ์ฌ ์์คํ
๊ณผ์ ์ํธ์์ฉ์ ์ผ๋ถ ๊ด๋ฆฌํจ
UIApplication
๊ฐ์ฒด์ ๋ง์ฐฌ๊ฐ์ง๋ก UIKit
์ ์ฑ ๋ธ๋ฆฌ๊ฒ์ดํธ ๊ฐ์ฒด๋ฅผ ์ฑ์ ์์ ์ฃผ๊ธฐ ์ด๊ธฐ์ ์์ฑํ์ฌ ํญ์ ์กด์ฌํ๋๋ก ํจ
๐ ์ฑ ๋ธ๋ฆฌ๊ฒ์ดํธ ๊ฐ์ฒด ์ฌ์ฉ
๋ค์ ์์
์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ฑ ๋ธ๋ฆฌ๊ฒ์ดํธ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํจ
- ์ฑ์ ์ค์ ๋ฐ์ดํฐ ๊ตฌ์กฐ ์ด๊ธฐํ
- ์ฑ์ ์ฌ(scene) ๊ตฌ์ฑ
- ์ฑ ์ธ๋ถ์์ ๋ฐ์ํ ์๋ฆผ์ ๋ํ ์๋ต ์ฒ๋ฆฌ (๋ฎ์ ๋ฉ๋ชจ๋ฆฌ ๊ฒฝ๊ณ , ๋ค์ด๋ก๋ ์๋ฃ ์๋ฆผ ๋ฑ)
- ์ฑ ์์ฒด๋ฅผ ๋์์ผ๋ก ํ ์ด๋ฒคํธ์ ์๋ต ์ฒ๋ฆฌ (์ฑ์ ์ฌ, ๋ทฐ, ๋ทฐ ์ปจํธ๋กค๋ฌ์ ๊ด๋ จ๋์ง ์์ ์ด๋ฒคํธ)
- ์ ํ ํธ์ ์๋ฆผ ์๋น์ค์ ๊ฐ์ ํ์ ์๋น์ค ๋ฑ๋ก
๐ Life-cycle management in iOS 12 and earlier
- iOS 12 ์ด์ ๋ฒ์ ์์๋ ์ฑ ๋ธ๋ฆฌ๊ฒ์ดํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ์ ์ฃผ์ ์๋ช
์ฃผ๊ธฐ ์ด๋ฒคํธ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
- ํนํ, ์ฑ ๋ธ๋ฆฌ๊ฒ์ดํธ์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ์ด ํฌ๊ทธ๋ผ์ด๋๋ก ๋ค์ด๊ฐ๊ฑฐ๋ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์ด๋ํ ๋ ์ฑ์ ์ํ๋ฅผ ์
๋ฐ์ดํธํฉ๋๋ค.
- ์ฑ์ด ํฌ๊ทธ๋ผ์ด๋๋ก ๋ค์ด๊ฐ ๋ ํด์ผ ํ ์์
์ ๋ํ ์ ๋ณด๋ "UI๋ฅผ ํฌ๊ทธ๋ผ์ด๋์์ ์คํ๋๋๋ก ์ค๋น"๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
- ์ฑ์ด ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ๋ค์ด๊ฐ ๋ ํด์ผ ํ ์์
์ ๋ํ ์ ๋ณด๋ "UI๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํ๋๋๋ก ์ค๋น"๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
- ์ฑ์ ์ผ๋ฐ์ ์ธ ์๋ช
์ฃผ๊ธฐ์ ๋ํ ์ ๋ณด๋ "์ฑ์ ์๋ช
์ฃผ๊ธฐ ๊ด๋ฆฌ"๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
์ถ์ฒ๐
๐Apple Docs: UIApplicationDelegate