2008-09-24 8 views

Antwort

154

Objective-C

[[UIApplication sharedApplication] setIdleTimerDisabled:YES]; 

Swift

UIApplication.shared.isIdleTimerDisabled = true 
+2

Ist es wichtig, wo diese Codezeile verwendet wird? Sollte es im AppDelegate oder in der Hauptansicht der App sein? –

+16

Das hängt davon ab, wie Sie es verwenden möchten. Möglicherweise haben Sie nur eine Ansicht, die Sie in Ihrer Anwendung nicht abbrechen möchten. In diesem Fall würden Sie es in diesem View-Controller verwenden (wenn die Ansicht angezeigt wird). Um den Timer wieder zu aktivieren, verwenden Sie '[[UIApplication sharedApplication] setIdleTimerDisabled: NO];' wenn die Ansicht verschwindet. –

+2

Muss die App den Timer erneut aktivieren, wenn die App den Fokus verloren hat, oder wird dies automatisch vom Betriebssystem gehandhabt? –

20

In schnellen Sie dies als

UIApplication.sharedApplication().idleTimerDisabled = true 
2

verwenden können, habe ich diese Codezeile setzen In meiner Sicht Controller noch wir Kunden noch sagen, der Bildschirm wird verdunkeln oder ausschalten, bis jemand den Bildschirm berührt. Ich habe andere Beiträge gesehen, wo nicht nur programmatisch Sie

UIApplication.sharedApplication().idleTimerDisabled = true 

auf true gesetzt, aber Sie müssen es auf false

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

Leider erste

zurückgesetzt dies immer noch nicht funktioniert und die Kunden noch gedimmt Bildschirme bekommen. Wir haben ein Apple Configurator-Profil, das verhindert, dass das Gerät in den Ruhezustand wechselt, und trotzdem werden einige Geräte-Bildschirme dunkel und der Kunde muss die Home-Taste drücken, um den Bildschirm aufzuwecken. Ich lege diesen Code nun in einen Timer, der alle 2,5 Stunden auslöst, um den Leerlauf-Timer zurückzusetzen, hoffentlich wird das funktionieren.

+1

Den Code in eine feuernde Funktion setzen auf einem Timer hat das Problem nicht behoben. Ich habe mein iPad für über 24 Stunden eingeschaltet und es wurde nicht abgedunkelt und keine Interaktion. Laut einem unserer Kunden hat ein Benutzer das Gerät 15 Minuten vorher benutzt und dann wurde das Gerät dunkel. –

0

Wir hatten das gleiche Problem. Es stellte sich heraus, dass es sich um einen Rogue-Prozess auf unserem MDM-Server handelte, der in unserem Konto gelöscht wurde, aber auf dem Server wurde weiterhin der Befehl zum Dimmen unserer Geräte gesendet.

9

Swift 3:

UIApplication.shared.isIdleTimerDisabled = true 
+0

Dies gilt auch für Swift 4 –