[Swift] iOS 저전력(절전) 모드 확인하기

반응형

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

 

 

 

 

isLowPowerModeEnabled | Apple Developer Documentation

A Boolean value that indicates the current state of Low Power Mode.

developer.apple.com

반응형

댓글

Designed by JB FACTORY