2015년 10월 8일 목요일

Mac AppNap 설정

AppNap 이란?
Mac OSX 10.9 부터 실행 중인 앱 중에 다른 앱에 의해 가려지거나 사용하지 않는 것으로 판단되는 앱의 Message 처리를 OS 레벨에서 매우 낮은 우선순위로 하여 배터리 소모를 제한하는 기능이다.

물론 백그라운드 스트리밍이나 다운로드 중인 경우 OSX에서 눈치 채서 제한을 걸지 않지만
정상적인 백그라운드 동작에서도 AppNap기능이 활성화되어 문제가 되는 경우가 있다.

해당 기능이 동작하는지는 Activity Monitor 앱을 통해 확인 할 수 있다.



















defaults 라는 환경 변수 값 비슷한 걸 설정해 주면 기능을 끄거나 켤 수 있다.


Xamarin 을 이용하여 코드를 작성해 보자


우선 설정값을 읽어오는 코드

















defaults read 도메인 키값

형식으로 사용하면되고, NSGlobalDomain은 모든 앱을 설정하기 위한 도메인이다.

NSAppSleepDisabled 키가 AppNap설정을 위한 키의 이름이다.

해당 키값을 읽어오면 AppNap 설정이 활성화 되어있다면 0, 비활성화 상태이면 1을 반환한다.















AppNap 설정 수정하기..

활성화 시키기 위해서는 해당 키를 지우면 된다. delete
비활성화 하기 위해서는 해당 키를 write 하고 값은 -bool YES로 지정한다.


수정된 내용을 적용하기 위해서는 재부팅이 필요하다.





댓글 없음:

댓글 쓰기