2016-10-13 8 views
0

私はスリープタイマー付きのアプリを持っています。基本的に私がやっていることは次のとおりです。アプリのタイマーを無効にするアプリの開始時にアイドルタイマーは決してアクティブにならないので、アプリケーションはスリープしません。

  1. 使用このコードを:

    [[のUIApplication sharedApplication] setIdleTimerDisabled:YES];

  2. スリープタイマーの期限が切れる:

    を[[のUIApplication sharedApplication]はsetIdleTimerDisabled:NO]を。

ユーザー設定の自動ロックの値が上がると、画面が暗くなり、アプリがスリープ状態になります。

正常に機能していましたが、何らかの理由でもう機能しませんでした。私はトラブルシューティングをしていて、まだスリープ状態にならないsetIdleTimerDisabledに関するコマンドをコメントアウトしています。

私がidleTimerの状態を([UIApplication sharedApplication] .isIdleTimerDisabled)でテストすると、IdleTimerが実際に無効になっていないことがわかります。

他に、デバイスがスリープ状態になるのを防ぐことができますか?アプリが何の対話もなしに放置されたとき。それが役に立つ場合は、私のデバイスが9.3.3で動作しています。

答えて

0

私は答えを見つけたと思います。実際には2つの問題がありました。 1.私が走ってXcodeでビルドしている限り、アプリは決してスリープ状態にはなりません(私は思う)。 2.マイアプリはので、私は、デバイスがロックされたときにはまだで動作するコントロールやオーディオを確保するために、このような何かをやっている音ました:

audioSession = [AVAudioSession sharedInstance]; 
    NSError *setCategoryError = nil; 
     [audioSession setCategory:AVAudioSessionCategoryPlayback error:&setCategoryError]; 

は、しかし、これは睡眠からデバイスを防ぐ - サウンドが再生し続けます。画面がロックされると、だから私が今何をすべきか、私は、しかし、私はまだ考え出したていない別の問題が発生する

[audioSession setCategory:AVAudioSessionCategoryAmbient error:&setCategoryError]; 

...

にaudioSessionのカテゴリを変更します
関連する問題