2013-01-24 9 views
5

Ich habe eine Anwendung, die die Videokamera nutzt so dass der Bildschirm nicht dimmen kann. den Bildschirm von Dimmen Hemmen funktioniert wie so fein:iOS - setIdleTimerDisabled: NEIN funktioniert nicht

- (void)applicationDidBecomeActive:(UIApplication *)application 
{ 
    [[UIApplication sharedApplication] setIdleTimerDisabled:YES]; 
} 

jedoch, wenn die App geschlossen ist, und tritt in den Hintergrund, wird die IdleTimer zurück zu NO Einstellung nicht funktioniert. Der Bildschirm bleibt für immer auf dem Startbildschirm. So versuche ich dies zu erreichen.

- (void)applicationWillResignActive:(UIApplication *)application 
{ 
    [[UIApplication sharedApplication] setIdleTimerDisabled:NO]; 
} 

Gibt es einen besseren Ort, um diese Zeile Code hinzufügen?

+1

Dies kann nur ein Fehler sein, mit dev baut. Ich habe mehrere Apps, die den Bildschirm zwingen, nicht zu dimmen, während sie aktiv sind, aber ich hatte noch nie einen, der den Homescreen oder eine andere App auf dem Bildschirm halten konnte. App-Einstellungen sind fast immer App-spezifisch, um das System rein zu halten. –

+0

Haben Sie versucht, dies mit Ihrem Mac und XCode verbunden? Ich denke, dass, wenn das der Fall ist, kann das iDevice nicht immer den „Schlaf“ starten will ... – Larme

+0

@Larme, ja, dass mein erster Gedanke war, aber ich hakte es und es immer noch nicht dimmen. –

Antwort

0

Warum versuchen Sie nicht, Ihren Code in

applicationWillEnterForeground mit

delegegate Methode.

Hoffnung, dass die Arbeit für Sie.

9

Das gleiche Problem mit mir auftreten. Eigentlich funktioniert es aber nur, wenn dein Gerät nicht mit xCode verbunden ist. Versuchen Sie, das Gerät zu trennen, und testen Sie diese Funktion.

+0

Ich verbringe den ganzen Tag damit, das Problem herauszufinden, aber es ist wegen xcode. Du hast mir mein Leben gerettet. –

-1

Swift Version:

public func applicationWillResignActive(application: UIApplication) { 
    UIApplication.sharedApplication().idleTimerDisabled = false 
} 


public func applicationDidBecomeActive(application: UIApplication) { 
    UIApplication.sharedApplication().idleTimerDisabled = true 
} 
Verwandte Themen