[英]Idle timer never activated so App never sleeps
我有一個帶有睡眠計時器的應用程序,用戶可以選擇該應用程序在經過一定時間后將其掛起。 基本上我要做的是:
在應用程序的開頭使用以下代碼來禁用應用程序計時器:
[[UIApplication sharedApplication] setIdleTimerDisabled:是];
當睡眠計時器到期時:
[[UIApplication sharedApplication] setIdleTimerDisabled:否];
一旦用戶首選項中的“自動鎖定”值上升,屏幕就會變暗並且應用程序進入睡眠狀態。
它工作正常,但由於某種原因不再有效。 我正在進行故障排除,並注釋掉了涉及setIdleTimerDisabled的命令,但它從未進入睡眠狀態。
如果我使用([UIApplication sharedApplication] .isIdleTimerDisabled)測試idleTimer的狀態,我會看到IdleTimer實際上並未被禁用,因此不是。
還有什么可以防止設備進入休眠狀態? 當應用程序沒有任何交互時。 我的設備正在運行9.3.3,以防萬一。
我想我找到了答案-實際上有兩個問題。 1.只要我在Xcode上運行和構建,該應用程序就永遠不會進入睡眠狀態(我認為)。 2.我的應用程序有聲音,因此我正在執行以下操作以確保鎖定設備后控件和音頻仍能正常工作:
audioSession = [AVAudioSession sharedInstance];
NSError *setCategoryError = nil;
[audioSession setCategory:AVAudioSessionCategoryPlayback error:&setCategoryError];
但是,這可以防止設備進入休眠狀態-聲音不斷播放。 所以我現在要做的是,一旦屏幕鎖定,我將audioSession的類別更改為
[audioSession setCategory:AVAudioSessionCategoryAmbient error:&setCategoryError];
但是,這引起了另一個我還沒有想到的問題……
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.