[iOS] App Life Cycle: iOS 12κΉμ§ μ±μ μλͺ μ£ΌκΈ°
appDelegateμ μλ¬΄κ° λ§μ€νλ ~ iOS 12
iOS 13μμ Sceneμ΄ μκ°λκ³ UIμ κ΄λ ¨λ μμ μ΄ λͺ¨λ sceneDelegateλ‘ μ΄λλκΈ° μ κΉμ§, appDelegatesλ μ±μ μνμ UIμ μνλ₯Ό λͺ¨λ κ΄λ¦¬νμ΅λλ€. μ ν리μΌμ΄μ μ΄ ν νλ‘μΈμ€λ₯Ό μ¬μ©νλ©΄μ λ¨ νλμ νλ©΄λ§μ μ 곡νκΈ° λλ¬Έμ sceneDelegateμ μ‘΄μ¬κ° νμνμ§ μμμ΅λλ€. κ·ΈλΌ μ΄λκΉμ§ μ±μ μλͺ μ£ΌκΈ°κ° μ΄λ»κ² λμλμ§ ν λ² μ΄ν΄λ³΄κ² μ΅λλ€!
5κ°μ μν
iOS 12 κΉμ§μ μ±μ 5κ°μ μνλ‘ λλμ΄μ§λλ€. Not running, Inactive, Active, Background, Suspended μ λλ€.
μ±μ΄ μμλ λ
μ ν리μΌμ΄μ μ΄ μμλλ©΄ μμ€ν μ μ ν리μΌμ΄μ μ Inactiveλ background μνλ‘ λ§λλλ€. λ μνλ μ ν리μΌμ΄μ μ UIκ° νλ©΄μ λνλλμ§ μ¬λΆμ λ°λΌμ λ¬λΌμ§λλ€. λ§μ½ μ€νν μ§νμ λ°±κ·ΈλΌμ΄λμμ κ³μ μ€νλλ μ±μ΄λΌλ©΄, Background μνκ° λκ³ , νλ©΄μ΄ μ νλμ΄ μ±μ΄ νλ©΄μ 보μ΄κ²λλ μ±μ΄λΌλ©΄ Inactive μνκ° λκ² μ£ ?
Active <-> Inactive
κ·Έλ¦¬κ³ νλ©΄μ μ ν리μΌμ΄μ μ΄ κ·Έλ €μ§κ³ Inactive μνκ° λ μ΄νμλ Active μ Inactive μνκ° λ°λ³΅λλ©° μ€νλ©λλ€. μλ¦¬κ° λΆλ¦¬κ±°λ, μ νλ₯Ό λ°λ λ±, νλ©΄μ μ ν리μΌμ΄μ μ΄ μ¬λΌμ μμ§λ§, λ€λ₯Έ μ ν리μΌμ΄μ μ΄λ μμ€ν μ μν΄ μ¬μ©μμ μνΈμμ©ν μ μλ μνκ° λλ©΄ Inactive μνλ‘ μ νλ©λλ€.
Suspended <-> Background <-> Inactive
νλ©΄μ΄ μ¬μ©μμ μν΄ λ°±κ·ΈλΌμ΄λλ‘ μ΄λνλ©΄ μ ν리μΌμ΄μ μ μνλ Background μνκ° λ©λλ€. Background μνλ μ ν리μΌμ΄μ μ΄ νλ©΄μ λνλμ§λ μμ§λ§, μ¬μ ν μ€νλκ³ μλ μνλ₯Ό μλ―Έν©λλ€. κ·Έλ¦¬κ³ μ΄ μνμμ μ±μ΄ μΌμ μκ°λμ λ μ΄μ μ€νλμ§ μμΌλ©΄ Suspended μνλ‘ μ νλ©λλ€.
νμ§λ§ Suspended μνκ° μ±μ μ’ λ£λ₯Ό μλ―Ένμ§λ μμ΅λλ€. Suspended μνμ μλ μ±μ΄ μ¬μ©μκ° νλ©΄μ λ€μ μ νμν€λ©΄ Inactive μνλ‘ νλ©΄μ λνλ μ μμ΅λλ€. μ΄ λλ¬Έμ μ κ·Έλ¦Όμμλ Suspendedμμ Inactiveλ‘ κ°λ νμ΄νκ° μλ κ²μ΄μ£ !
μ±μ΄ μ’ λ£λλ μμ μ μ¬μ©μκ° μ§μ μ±μ μ’ λ£μν€κ±°λ, λ©λͺ¨λ¦¬ κ΄λ¦¬λ₯Ό μν΄ suspended μνμ μλ μ±μ iOS μμ€ν μ΄ μ’ λ£μμΌ°μ λμ λλ€!
λ§λ¬΄λ¦¬
iOS 13μμμ μλͺ μ£ΌκΈ°λ₯Ό μ 리ν΄μ κ·Έλ°μ§ κ±°μ μΌμΉνλ κ°λ μ μ©μ΄λ§ μ‘°κΈμ© λ¬λΌμ Έμ ν° μ΄λ €μμμ΄ μ΄ν΄ν μ μμμ΅λλ€. iOS 12 μ΄μ μΌλ‘ μ±μ κ°λ°ν μν©μ΄ μμμ§ λͺ¨λ₯΄κ² μ§λ§(μ΄μ iOS 15κ° κ³§ λμ€λκΉμ) κ·Έλλ μμλλ©΄ μΈμ κ° μΈ λ°κ° μκ² μ£ ! μ€λλ μ½μ΄μ£Όμ μ κ°μ¬ν©λλ€!