TroubleShooting

[iOS] AOD 기능 여부에 따라 화면 App lifecycle 이벤트가 다르게 발생한다.

Phililip
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 상태로 되는 것 같아요...;;;
버그인지 스펙인지 잘 모르겠어요...ㅠ 애플에 문의는 넣었으니 답변 오면 공유할게요!

 


이번 글은 여기서 마무리.

 

 

 

반응형