Dog foot print

IOS LIFE CYCLE(생명 주기) 본문

IOS/IOS

IOS LIFE CYCLE(생명 주기)

개 발자국 2021. 3. 17. 11:32

서론 : 

 

어쩌다 보니, 회사  때문에, IOS 대한 공부를 시작하게 되었고 현재 계속 스위프트를 공부 중이다. 스위프트는 볼만 하지만, 스위프트를 이용한, 코코아 터치 프레임워크  코어 데이터를 사용하는 것이 완전 지옥이다. 

 

IOS LIFE CYCLE

 

IOS 라이프 사이클은 다음과 같은 4개의 상태를 가지며 Fore ground 상태에서는 2개의 상태로 나뉜다. 

 

Not Running : 프로세스가 KILL되어 있는 상태.  앱이 종료된 상태를 말한다.

 

Fore ground : 현재 앱이 화면 전면 부에서 실행 되고 있는 상태.  사용자가 현재 사용중인 어플리케이션. IOS에서는 1개의 어플리케이션만이 Fore ground 상태를 가질  있다.

 

-        Inactive : 앱이 실행중이지만, 아무런 이벤트를 받지 않는 상태.  전화, 알림  등등 사용자의 입력을 받을  없는 상태

-        Active : 화면 전면 부에서 사용자와 상호작용   있는 상태.

 

Background :  현재 어플리케이션이 사용자와 상호작용을 하지 않는 상태. Fore ground 있던 앱은 Background 이동 하는 경우, 마지막 Task  기점으로  이상의 Task 실행 하지 않는 상태. Suspended상태로 이전 하기  거쳐 가는 단계로 애플에서 허용하는 7개의 경우에 Background상태에서 작업을 수행   있다. 

 

Suspended : 앱이  이상의 코드를 실행하지 않는 상태이며, 사용자의 빠른  실행을 위해서 Application 메모리에 유지 시킨다. 운영체제 판단 하에, 메모리의 공간이 부족한 경우 현재 Suspended 상태의 앱을 종료 시킬  있다 .

 

 

IOS Application Life Cycle

 

 

상태 변화 호출 함수

 

몇몇의 상태는 오버로드 되어 알아보기 힘들  있으니 매개변수명의 변화에 신경 쓰도록 합시다.

 

optional func application(_ application: UIApplication, 
    willFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool

 

App 실행을 위한 초기화가 완료되기 직전에 호출 .

 

Application 매개변수는 싱글  객체이다. 

 

launchOption 내부 매개변수 명은 앱이 시작된 이유를 가지고 있는 Dictionary 타입이다. 사용자가 앱을 직접 실행 시킨 경우, empty상태이다. 

 

optional func application(_ application: UIApplication, 
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool

 

앱을 실행 시킬  있는 상태이다. 

 

Application 매개변수는 싱글  객체이다. 

 

launchOption 내부 매개변수 명은 앱이 시작된 이유를 가지고 있는 Dictionary 타입이다. 사용자가 앱을 직접 실행 시킨 경우, empty상태이다. 

 

Not running 상태에서 Fore ground 변화하는 시기 .

 

URL에서 자원을 가져와 관리   없는 경우나 사용자의 활동을 지속   없는 경우 false 반환하며, 그렇지 않은 경우 true 반환합니다. 만약remote notification으로 앱을 실행 시킨 경우  반환값은 무시됩니다. 

 

optional func applicationDidBecomeActive(_ application: UIApplication)

 

앱이 foreGround상태로 전환   호출

 

optional func applicationWillResignActive(_ application: UIApplication)

 

앱이 inactive 상태로 전환   호출 된다. 

 

SMS , 전화가  사용 중에 도착하는 경우 해당 한다.

 

optional func applicationDidEnterBackground(_ application: UIApplication)

 

어플리케이션이 Background  전환 되었을  함수가 호출 된다. 

 

optional func applicationWillEnterForeground(_ application: UIApplication)

 

어플리케이션이 Background 에서 Fore ground 진입   함수가 호출 된다. 

optional func applicationWillTerminate(_ application: UIApplication)

 

어플리케이션이 suspend 에서 not Running 으로 변경   실행된다.  프로세스가 kill  실행되는 함수다. 

 

출처 : 

 

blog.lovenfree.com/159

 

[iOS] App Lifecycle( 앱 생명주기)

앱을 개발하다 보면 앱의 생명주기에 따라 어떤 작업을 해야 할 때가 있다. 뭐 기본적으로 앱을 처음 실행시 기본적으로 라이브러리 세팅 등을 해준다. firebase 나 userhabit, ga, 기타..등등 앱의 기

blog.lovenfree.com

velog.io/@delmasong/Managing-Your-Apps-Life-Cycle

 

App의 Life Cycle 다루기

iOS App Life Cycle 에 대해 이해하고자 번역, 정리한 글입니다. App Life Cycle 앱이 포어그라운드나 백그라운드에 있을 때 시스템 알림에 응답하고 다른 중요한 시스템 관련 이벤트를 다룬다. Overiew 앱

velog.io

 

반응형
Comments