Language/Swift
iOS - AppDelegate
비코딩
2022. 10. 27. 16:45
- App 생명 주기 상태에 접근하기 위해 AppDelegate.swift 파일을 사용
- 프로젝트 내의 AppDelegate.swift 안에서 관리되는 생명 주기
- AppDelegate는 앱의 상태에 따라 실행되는 Delegate 메소드를 담고 있다.
application(_:willFinishLaunchingWithOptions:)
- App이 최초 실행될 때 호출되는 메소드
- Not Running -> Foreground 로 상태 변환
application(_:didFinishLaunchingWithOptions:)
- App이 실행 직후 화면이 사용자에게 보여지기 직전에 호출
- 초기화 코드 작성
applicationDidBecomeActive(_:)
- App이 Active 상태로 전환되어 화면이 나타난 후 직후 호출
- Inactive 상태로 넘어가 중지된 작업을 여기서 반드시 재실행시켜줘야 함 ex) 화면 갱신 등
applicationWillResignActive(_:)
- App이 Inactive 상태로 전환되기 직전 호출
applicationDidEnterBackground(_:)
- App이 Background 상태로 전환된 직후 호출
- Background 상태에서 Suspended 상태로 전환
- App이 언젠가 종료될 것임을 뜻하기 때문에 중요한 사용자 데이터를 저장하거나, 공유 자원을 해제하는 등의 작업 수행 필요
- App이 재실행될 때 직전 상태를 복구할 수 있는 정보를 저장하는 코드 작성
applicationWillEnterForeground(_:)
- App이 Background에서 Foreground로 돌아오기 직전, 화면에 보여지기 직전 호출
- 호출된 뒤 Inactive 상태를 거쳐 Active 상태로 진입
applicationWillTerminate(_:)
- App이 종료되기 직전에 호출
- 다음 경우에는 호출되지 않음
- 메모리 확보를 위해 Suspended 상태에 있는 app을 종료시킬 때
- 사용자가 multitasking UI를 통해 종료할 때
- 오류로 인해 app이 종료될 때
- Deivce를 재부팅할 때