Ответ 1
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
Я работаю над приложением, которое не требует ввода пользователем, но я не хочу, чтобы iPhone перешел в режим энергосбережения.
Можно ли отключить энергосбережение из приложения?
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
В быстро вы можете использовать это как
UIApplication.sharedApplication().idleTimerDisabled = true
Swift 3:
UIApplication.shared.isIdleTimerDisabled = true
Я поместил эту строку кода в контроллер моего представления, но мы все равно получаем от клиентов, что экран будет тусклым или выключенным, пока кто-то не коснется экрана. Я видел другие сообщения, в которых вы не только программно устанавливаете
UIApplication.sharedApplication().idleTimerDisabled = true
в true, но вы должны reset его сначала ошибочно
UIApplication.sharedApplication().idleTimerDisabled = false
UIApplication.sharedApplication().idleTimerDisabled = true
К сожалению, это все еще не сработало, и клиенты все еще становятся тусклыми экранами. У нас есть профиль Apple Configurator, который не позволяет устройству заснуть, и все же экран некоторых устройств становится тусклым, и клиенту нужно нажать кнопку "домой", чтобы разбудить экран. Теперь я помещаю этот код в таймер, который каждые 2,5 часа запускается до reset таймера простоя, надеюсь, что это сработает.
У нас была та же проблема. Оказалось, что это был мошеннический процесс на нашем сервере MDM, который был удален в нашей учетной записи, но на сервере все еще была отправлена команда, чтобы отключить наши устройства.