AppDelegate & SceneDelegate, Dark Mode(2022-07-06 수업3)

2022. 7. 8. 22:50SeSAC/수업정리

목차

1. AppDelegate & SceneDelegate

2.Dark Mode

3. References  


1. AppDelegate & SceneDelegate

-. iOS13부터 iPadOS 멀티윈도우기능이 생겨 UI라이프사이클이 다양해졌고 이를 관리해줄 객체가 필요해졌다.
-. 그래서 SceneDelegate이 생겼고 AppDelegate은 SceneDelegate과 역할을 나누게되었다.
-. AppDelegate : 앱의 entry point 역할앱레벨에서의 life-cycle을 관리하는 역할
-. SceneDelegate : 화면에 무엇(scene/window)을 보여줄지 관리하는 역할 

-. iOS12 & earlier

 

  • 앱은 1 process, 1 user interface 인스턴스를 지원한다.
  • AppDelegate 역할(2가지)
    1) process level 이벤트 발생 알림(app launch or terminate)
    2) UI의 상태변화 알림(willEnterForeground, willResignActive)

-. iOS13~

 

  • 앱은 1 process, multiple user interface(= scene sessions)를 지원한다.
  • AppDelegate 역할 : process level 이벤트 발생 알림(app launch or terminate)
  • SceneDelegate 역할 : UI의 상태변화 알림(willEnterForeground, willResignActive)

iOS13 전후 App Delegate 역할 변화

2. Dark Mode

-. iOS13 이상 버젼부터 사용 가능하다.

-. Sementic Colors : UI요소들의 기능 또는 정보 유형에 따라 의미를 강조하여 전달하기 위한 컬러이다. 목적과 적용되는 상황에 부합할 수 있도록 의미를 담은 명칭으로 관리한다.

-. System Color 도입 : iOS 13이전엔 .white, .black 등 시스템 컬러가 있었지만 iOS13 이후부턴 의미적 개념을 더했다.

-. Asset Catalog를 사용하면 코딩없이 다크모드를 지원 할 수 있다.

-. 사용자가 시스템을 다크모드로 설정하더라도 앱에서는 라이트모드로 동작하게 설계 할 수 있다. (다크모드 지원 안되게 할 수 있음)
-. 다크모드 장점

 

  • 저시력자를 위한 접근성 향상
  • 어두운 환경에 적합 (취침 전 휴대폰 탐색 등)
  • 취향 (Private, Premium 감성)
  • 배터리 절감 (OLED + 검정배경일 때)
  • 컨텐츠 집중 (넷플릭스 등)

System Color 예시
다크모드 지원하지 않는 방법

3. References

1. sesac 교육자료

2. AppDelegate & SceneDelegate

https://sueaty.tistory.com/134
https://sueaty.tistory.com/135
3.
Dark Mode
https://tech.socarcorp.kr/design/2020/07/10/dark-mode-01.html

https://gds.gmarket.co.kr/foundation/color#semantic-color-5