Come posso evitare che lo schermo dell'iPhone si oscuri o si spenga mentre la mia applicazione è in esecuzione?
-
02-07-2019 - |
Domanda
Sto lavorando a un'app che non richiede input da parte dell'utente, ma non voglio che l'iPhone entri in modalità di risparmio energetico.
È possibile disabilitare il risparmio energetico da un'app?
Soluzione
Objective-C
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
Swift
UIApplication.shared.isIdleTimerDisabled = true
Altri suggerimenti
In rapido puoi usarlo come
UIApplication.sharedApplication().idleTimerDisabled = true
Swift 3:
UIApplication.shared.isIdleTimerDisabled = true
Ho inserito questa riga di codice nel mio controller di visualizzazione, ma abbiamo ancora clienti che dicono che lo schermo si oscura o si spegne fino a quando qualcuno non tocca lo schermo. Ho visto altri post in cui non solo imposti programmaticamente
UIApplication.sharedApplication().idleTimerDisabled = true
su true ma prima devi reimpostarlo su false
UIApplication.sharedApplication().idleTimerDisabled = false
UIApplication.sharedApplication().idleTimerDisabled = true
Purtroppo questo non ha funzionato e i clienti continuano a ricevere schermi oscurati. Abbiamo un profilo Apple Configurator che impedisce al dispositivo di andare in modalità di sospensione, e tuttavia lo schermo di alcuni dispositivi si oscura e il cliente deve premere il pulsante Home per riattivare lo schermo. Ora inserisco questo codice in un timer che si attiva ogni 2,5 ore per ripristinare il timer di inattività, speriamo che funzioni.
Stavamo riscontrando lo stesso problema. Si è rivelato essere un processo non autorizzato sul nostro server MDM che è stato eliminato nel nostro account ma sul server stava ancora inviando il comando per oscurare i nostri dispositivi.