728x90
안녕하세요.
AOD (Always On Display) 기능이 있냐 또는 활성화되어 있냐 여부에 따라서 화면 잠금 시 발생하는 App lifecycle 이벤트가 다르다는 것을 최근에 알게 되었습니다.
AOD 기능 여부에 따라 App lifecycle 이벤트가 어떻게 발생하는지 아래에 정리해 봤어요.
AOD 기능 OFF | AOD 기능 ON | |
앱 시작 | 1) willEnterForeground 2) didBecomeActive |
1) willEnterForeground 2) didBecomeActive |
앱을 background로 내리기 | 1) willResignActive 2) didEnterBackground |
1) willResignActive 2) didEnterBackground |
background 앱을 화면에 올리기 | 1) willEnterForeground 2) didBecomeActive |
1) willEnterForeground 2) didBecomeActive |
화면에 시스템 팝업 출력 시 | 1) willResignActive | 1) willResignActive |
시스템 팝업 닫힐 때 | 1) didBecomeActive | 1) didBecomeActive |
앱 실행 중에 화면 잠금 | 1) willResignActive 2) didEnterBackground |
1) willResignActive 2) didBecomeActive 3) willResignActive 4) didEnterBackground |
화면 잠금 해제 | 1) willEnterForeground 2) didBecomeActive |
1) willEnterForeground 2) didBecomeActive |
시스템 팝업 출력 도중 화면 잠금 | 1) willResignActive 2) didEnterBackground |
1) willResignActive 2) didBecomeActive 3) willResignActive 4) didEnterBackground |
[참고] AppDelegate 든 SceneDelegate 든 결과는 똑같아요.
AOD 기능이 있는 기기에서 앱 실행 중 화면을 잠금하면, 앱이 InActive 상태로 갔다가 다시 Active 상태로 돌아오고, 다시 InActive 상태로 되는 것 같아요...;;;
버그인지 스펙인지 잘 모르겠어요...ㅠ 애플에 문의는 넣었으니 답변 오면 공유할게요!
이번 글은 여기서 마무리.
반응형