Как предотвратить затемнение или отключение экрана iPhone во время работы приложения?


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

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

5 106

5 ответов:

С

[[UIApplication sharedApplication] setIdleTimerDisabled:YES];

Свифт

UIApplication.shared.isIdleTimerDisabled = true

In Свифт вы можете использовать это в качестве

UIApplication.sharedApplication().idleTimerDisabled = true

Swift 3:

UIApplication.shared.isIdleTimerDisabled = true

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

UIApplication.sharedApplication().idleTimerDisabled = true 

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

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

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

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