2013-01-24 47 views
5

我有一個應用程序,利用攝像頭,因此屏幕無法調暗。從調光抑制畫面像這樣工作正常:iOS - setIdleTimerDisabled:NO不工作

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

然而,當應用程序被關閉並進入後臺,設置IdleTimer回NO不工作。屏幕始終保持在主屏幕上。我正在努力完成這個任務。

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

有沒有更好的地方添加這行代碼?

+1

這可能只是一個bug與開發的基礎之上。我有幾個應用程序強制屏幕在活動時不會變暗,但我從來沒有能夠保持主屏幕或其他應用程序的功能。應用程序設置幾乎總是應用程序特定的,以保持系統純淨。 –

+0

你有沒有試過這個連接到你的Mac和XCode?我認爲,如果這樣的話,iDevice並不總是想開始「睡眠」...... – Larme

+0

@Larme,這是我的第一個想法,但我解開它,它仍然不昏暗。 –

回答

0

你爲什麼不嘗試用你的代碼

applicationWillEnterForeground

delegegate方法。

希望工作能爲你服務。

9

同樣的問題發生在我身上。實際上它可以工作,但只在設備未連接到xCode時才起作用。嘗試斷開設備連接,然後測試此功能。

+0

我花了整整一天的時間試圖找出問題,但這是因爲xcode。謝謝你拯救了我的生命。 –

-1

斯威夫特版本:

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


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