---
# System prepended metadata

title: Untitled

---

### iOS 13에서 Scene Delegate로 이관된 App Delegate의 역할은 무엇무엇이 있을까요?
- UI 생명주기 이벤트
    - application: `willEnterForeground`
    - application: `didEnterForeground`
    - application: `willResignActive`
    - application: `didBecomeActive`

### App Delegate와 Scene Delegate의 각각의 역할은 무엇일까요?
#### App Delegate
- 프로세스 생명주기 이벤트 응답
- Scene Session 생명주기 이벤트 응답
#### Scene Delegate
- Scene에서 발생하는 생명주기 이벤트 응답

### Scene의 개념이 생긴 이유는 무엇이고, 언제 어디서 활용해볼 수 있을까요?

iOS13 이후로 `multiple window`를 지원을 시작하면서 각 화면이 별도의 상태를 가지기 때문에 생겨났다. `multiple window`의 foreground <-> background state 전환 시, 다시 새 창인 것처럼 시작하면 좋은 User Experience를 제공할 수 없기 때문에 새로운 Scene 기반 상태 복원 API가 등장했다. 

**🔎 예시**
- 앱이 background로 전환될 때 중요한 작업을 완료하고 앱을 일시 정지

### 앱은 언제언제 Foreground Inactive 상태가 될까요? 2가지 이상의 사례를 생각해봅시다
- 홈 인디케이터를 위로 드래그할 때 foreground의 화면이 가려지는 경우
- 시스템 알림이나 재난 문자 등으로 인해 foreground의 앱 화면이 가려지는 경우 
- alert이 띄워지는 경우
- 메세지 앱에서 "공유하기" 기능을 사용할 때 modal에 의해 어플리케이션 화면이 가려지는 경우

### 앱의 상태가 Background로 지속되기 위한 요건은 무엇무엇이 있을까요?
보통 background 상태에 들어간 app은 추가 실행 시간이 주어지지 않지만, 아래 예시와 같은 시간에 민감한 기능을 지원하는 앱의 경우 background 상태에서 추가적인 기능 실행 시간을 부여받는다.

- 위치 감지 서비스를 이용할 때
- 서버로부터 정기적인 업데이트가 있을 때
- 애플 푸시알림 서비스를 지원할 때
- 네트워크를 통한 실시간 음성 통화를 이용할 때