[ iOS ์ฑ๊ฐ๋ฐ ์ ๋ฌธ 1์ฃผ์ฐจ ] Xcode ๋น๋ - ์ฑ ์๋ช ์ฃผ๊ธฐ(App Life Cycle) / AppDelegate & SceneDelegate
์ฑ์ ์์ํ๊ณ ์ข ๋ฃ๋๊ธฐ ์ ๊น์ง์ ์ฌ๋ฌ ์ํ๋ค
Unattache(= Not Running)
์ฑ์ ์คํ ์ค์ด์ง ์์ ์ํ
UI๋ฅผ ๋ด๋นํ๋ Scene์ด ์์ง ์ฑ์ ์ฐ๊ฒฐ๋์ง ์์ ์ํ
์ฑ์ UI๊ฐ ๋ณด์ด์ง ์๋ ์ํ
Foreground Inactive
Scene์ด ์ฑ์ ์ฐ๊ฒฐ๋์ด UI๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์์ง๋ง ์ฌ์ฉ์๋ก๋ถํฐ ์ด๋ฒคํธ๋ฅผ ๋ฐ์ ์ ์๋ ์ํ
์ฑ์ ์์ ํ ํ์ฑํํ๊ธฐ ์ด์ ๋จ๊ณ
์) ์์คํ ์ ์๋ฆผ ์ค๊ฑฐ๋ ์ ์ด์ผํฐ๋ฅผ ๋ด๋ฆฌ๊ฑฐ๋ ์ฌ์ฉํ๋ ์ฑ์ ๋ฐ๊ฟ ๋
Foreground Active
์ฑ์ ์คํํ๊ณ ์ฌ์ฉ์๋ก๋ถํฐ ์ด๋ฒคํธ๋ฅผ ๋ฐ์ ์ ์๋ ์ํ
๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์ฑ์ ์ฌ์ฉํ๊ณ ์๋ ์ํ
Background
์ฑ์ ์คํํ๊ณ ์์ง๋ง UI๊ฐ ๋ณด์ด์ง ์๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ํ
ํ ๋ฒํผ์ ๋๋ฌ ๋ฐ์ผ๋ก ๋๊ฐ์ ๋์ ์ํ
๊ทธ๋๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ ์๋ ์ํ
์) ๋ฉ๋ก ์ฑ์ด ํ ํ๋ฉด์์๋ ์์ ์ ๊ณ์ ์ฌ์ํ๊ณ ์๋ ์ํ
Suspend
๋ฐฑ๊ทธ๋ผ์ด ์ํ์์ ์ฑ์ด ํน๋ณํ ์์ ์ ํ์๋ก ํ์ง ์์ ๊ฒฝ์ฐ ์ ์ด๋๋ ์ํ
OS๊ฐ ํ๋จํ์ฌ Background -> Suspend ์ํ๋ก ๋ณํ ์ํจ๋ค.
์) ์ฌ๋ฌ ์ฑ์ ๋์์ ํค๋ ๊ธฐ๊ธฐ ๋ฉ๋ชจ๋ฆฌ์ ๋ถ๋ด์ค๋ฌ์ด ์ํฉ์ด๋ผ๋ฉด ์ด๋ฐ์ ์คํํ ์ฑ๋ค์
๋ฐฑ๊ทธ๋ผ์ด๋์์ Suspend ์ํ๋ก ๋์ด๊ฐ๊ณ ๋์๊ฐ์ ๋ ์ฑ์ด ์ฌ์คํ๋๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
UIKit์ผ๋ก ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ฉด ์๋์ผ๋ก ์์ฑ์ด ๋๋ ํด๋์ค์ด๋ค.
iOS13 ์ด์ ๋ฒ์ ๊น์ง๋ AppDelegate๊ฐ ๋ผ์ดํ์ฌ์ดํด์ ๊ด๋ฆฌํ์ง๋ง,
iOS13 ์ดํ๋ถํฐ๋ ์ฑ ์ํ์ ๊ดํ ์ฑ ์์ SceneDelegate๊ฐ, ์ฑ์ ์์ ์งํ/ ์ข ๋ฃ ์ง์ ์ AppDelegate๊ฐ ๊ด๋ฆฌํ๋ค.
์๋์์ฑ๋๋ ๋ฉ์๋๋ก ์ถ๊ฐํ ์ ์๋ค.
์ฑ์ด InActive์์ Active(์ฑ์ด ์คํ์ด ๋๊ณ ์๋ ์ํ)ํ ์ํ๊ฐ ๋ ๋ ๋ง๋ค ๋ถ๋ฆฌ๋ ๋ฉ์๋
์) ์ฑ์ด ๋ฐฑ๊ทธ๋ผ์ด๋์ ๊ฐ๋ค๊ฐ ๋์์ฌ ๋๋ง๋ค ํ๋ฉด์ ๋ณด์ด๋ ์ ๋ณด๋ค์ ์ ๋ฐ์ดํธ ํ๊ณ ์ถ์ ๋ ์ฌ์ฉ
ํ๋ก์ ํธ ํ์ผ์ ์์ฑํ๊ณ SceneDelegate ํ์ผ์ ๋ณด๋ฉด ์ฑ ์ํ์ ๋ฐ๋ฅธ ๋ฉ์๋๋ค์ด ํธ์ถ๋๋ค.
https://velog.io/@rookie0031/iOS-App-Life-Cycle
[์ฝ๋๋ฒ ์ด์คUI] SnapKit๊ณผ NSLayoutConstraint ์ฝ๋ ๋น๊ต (0) | 2024.06.25 |
---|---|
[ ์ฝ๋๋ฒ ์ด์คUI ] NSLayoutConstraint, Xcode์ ์ด๋ฏธ์ง ๋ฑ๋กํ๊ธฐ (0) | 2024.06.24 |
[Xcode] ์ฝ๋๋ฒ ์ด์คUI_์คํ ๋ฆฌ๋ณด๋ ์ญ์ (0) | 2024.06.23 |
[Xcode] SPM์ผ๋ก SnapKit ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐ (0) | 2024.06.23 |
[Xcode] Stack View (0) | 2024.05.24 |