Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- applaucnchprocess
- Swift
- swift6.1
- SPM
- cgimage
- XCUITest
- 다이나믹링크분석
- modulararchitecture
- uicollectionview
- UIKit
- displayscale
- ciimage
- 이진삽입정렬
- Architecture
- actor
- mangle
- swift6
- updatecycle
- xcrun swift-demangle
- 뷰를그리는메서드
- task
- swiftconcurrency
- 뷰의레이아웃을계산하는메서드
- mainrunloop
- WWDC24
- IOS
- mach-o파일분석
- ios바이너리분석
- swift-demangle
- Xcode
Archives
- Today
- Total
꾸준한 기록
Application State 본문
Scene based app 에서 UIApplication.State의 의미
- 가장 active한 scene의 값을 사용한다.
- 가장 active 하다는 것을 판단하는 기준? 각 scene의 activationState 프로퍼티
- scene이 scene session과 connect되고, 다른 상태로 transition 되거나, disconnect될 때마다 상태가 바뀐다.
어떤 상황에서 Scene이 특정 상태가 되는가?

Unattached
- Scene이 생성된 직후
- 앱이 새롭게 실행될 때
(이는 앱이 앱 스위처에 남아있는 상태에서 앱 인스턴스만 존재하지 않을 때, 앱을 다시 실행하는 경우도 포함된다.) - 시스템에서 시스템에서 리소스를 확보하기 위해 백그라운드 상태에 있는 앱을
- 유저가 앱 스위처에서 앱을 종료할 때
Foreground Active
- 앱이 실행중이고, 이벤트를 수신하고 있을 때
- 메인 이벤트 루프가 동작중 (UI 다시 그리거나, 터치 이벤트 처리를 수행하고 있음)
Foreground Inactive
- 앱이 실행중이지만, 이벤트를 수신하고 있지 않을 때
- 앱이 유저에게 노출되지만, 유저와 상호작용할 수 없다. (유저와 상호작용하기 위해서는 Active 상태로 넘어가야 한다.)
- ex) 앱이 백그라운드로 전환중일 때 or 전화 수신, SMS 수신, 알림, 시스템 프롬프트와 같은 이벤트로 인해 앱이 중단될 때
Background
- 유저에게 앱이 노출되지 않는 상태
Suspended
- 유저에게 앱이 노출되지 않으면서, 아무런 코드도 실행되지 않는 상태 (앱이 메모리에는 남아 있음)
- 시스템이 종료할 수 있는 상태
- 백그라운드 패치, 위치 업데이트가 필요할 때 background 상태로 전환되어 앱이 실행된다.
SceneDelegate 메서드별 Scene의 상태 전환
scene(_:willConnectTo:options:) 호출 후
unattched ➡️ foreground inactive
sceneDidDisconnect 호출후
background / 앱이 종료중일 때 ➡️ unattached
💡'Scene'이 app하고 연결된다는 의미?
Scene Session하고 연결되는 것이다.
'iOS' 카테고리의 다른 글
| iOS 시스템의 메모리 구조 (0) | 2024.08.31 |
|---|---|
| [WWDC24] Bring you app's core features to with App Intents 요약 (0) | 2024.06.20 |
| [SwiftUI] 기초 (App, Scene) (2) | 2023.11.27 |
| FileSystem, FileManager (1) | 2023.10.25 |
| [iOS] URL Loading System (0) | 2022.08.11 |