Как предотвратить затемнение или выключение экрана iPhone во время работы моего приложения? - PullRequest
110 голосов
/ 24 сентября 2008

Я работаю над приложением, которое не требует ввода данных пользователем, но я не хочу, чтобы iPhone входил в режим энергосбережения.

Можно ли отключить энергосбережение из приложения?

Ответы [ 5 ]

169 голосов
/ 24 сентября 2008

Objective-C

[[UIApplication sharedApplication] setIdleTimerDisabled:YES];

Swift

UIApplication.shared.isIdleTimerDisabled = true
20 голосов
/ 27 марта 2015

В swift Вы можете использовать это как

UIApplication.sharedApplication().idleTimerDisabled = true
11 голосов
/ 29 ноября 2016

Swift 3:

UIApplication.shared.isIdleTimerDisabled = true
2 голосов
/ 17 марта 2016

Я поместил эту строку кода в свой контроллер представления, но мы все еще заставляем клиентов говорить, что экран тускнеет или выключается, пока кто-то не коснется экрана. Я видел другие посты, где вы не только программно устанавливаете

UIApplication.sharedApplication().idleTimerDisabled = true 

в true, но сначала вы должны сбросить его в false

UIApplication.sharedApplication().idleTimerDisabled = false
UIApplication.sharedApplication().idleTimerDisabled = true

К сожалению, это все еще не сработало, и клиенты по-прежнему получают затемненные экраны. У нас есть профиль Apple Configurator, предотвращающий переход устройства в спящий режим, но экран некоторых устройств становится тусклым, и клиенту нужно нажать кнопку «Домой», чтобы активировать экран. Теперь я поместил этот код в таймер, который срабатывает каждые 2,5 часа для сброса таймера простоя, надеюсь, это сработает.

0 голосов
/ 05 мая 2016

У нас была та же проблема. Оказалось, что это был мошеннический процесс на нашем сервере MDM, который был удален в нашей учетной записи, но на сервере все еще отправлялась команда для затемнения наших устройств.

...