[Swift] iOS 저전력(절전) 모드 확인하기
- 언어/스위프트
- 2023. 3. 14.
반응형
iOS 저전력 모드
iPhone 사용자가 저전력 모드(low-power mode)를 사용하게 되면 iOS 개발을 할 때 몇 가지 제약이 생깁니다. 특히나 절전모드 사용시 동영상 비디오 자동재생을 지원하지 않습니다 때문에 개발을 할 때 저전력인지 확인해야 하는 때가 있는데요. 오늘은 저전력 모드에서 Swift 코드로 저전력 모드를 판단하는 코드와 방법을 알아보겠습니다. 저전력 모드의 경우 iOS 9 부터 지원하고 있고 다음과 같은 제약이 있습니다.
- CPU 쓰롯틀링 (60% 성능제한)
- 백그라운드 앱 갱신 제한
- 웹뷰 비디오 자동 재생 제한
- 자동 다운로드 기능 제한
- GPU 퍼포먼스 저하
- 화면 밝기 저하
우선 아이폰에서 저전력 절전 모드를 확인하기 위해서는 두 가지 방법이 있습니다. 첫 번째로 직접 속성에 값을 확인해서 처리하는 방법이 있고 두 번째로 Notification을 이용하는 방법이 있습니다.
▼ 다음은 코드를 통해 직접 값을 알아올수 있는 ProccessInfo의 속성입니다. 해당 값이 true이면 저전력 모드가 활성화 되었다고 보면 됩니다.
▼ 다음과 같이 guard 문을 이용해서 함수나 프로세스에 진입을 막을 수도 있겠네요.
▼ 매번 속성을 확인하기 보다 특정 이벤트를 받아서 처리하면 편리합니다. Notification 이벤트를 받아서 처리하는 코드는 다음과 같습니다.
▼ 노티피케이션을 통해 저전력 모드를 확인하기 위해서 셀렉터 함수를 추가해줍니다.
https://developer.apple.com/documentation/foundation/processinfo/1617047-islowpowermodeenabled
반응형
'언어 > 스위프트' 카테고리의 다른 글
[Swift] iOS 웹뷰 WKWebView Done 키보드 닫기 버튼 없애기 (0) | 2023.03.15 |
---|---|
[Swift] iOS 웹뷰 WKWebView 텍스트 선택 및 길게 누르는 이벤트 막기 (0) | 2023.03.15 |
[Swift] Date 객체에 1일(하루)을 추가해서 Date 객체 변환하기 (0) | 2023.03.11 |
[Swift] AVAudioPlayer iOS 오디오 wav 파일 재생하기 (0) | 2023.02.16 |
[Swift] userContentController JSON 데이터 파싱하기 (0) | 2023.02.11 |