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

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

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

Ответ 1

[[UIApplication sharedApplication] setIdleTimerDisabled:YES];

Ответ 2

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

UIApplication.sharedApplication().idleTimerDisabled = true

Ответ 3

Swift 3:

UIApplication.shared.isIdleTimerDisabled = true

Ответ 4

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

UIApplication.sharedApplication().idleTimerDisabled = true 

в true, но вы должны reset его сначала ошибочно

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

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

Ответ 5

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