ユーザーが一定時間後にアプリが一時停止することを選択できるスリープタイマーを備えたアプリがあります。基本的に私がしていることは次のとおりです。
アプリの開始時に次のコードを使用して、アプリ タイマーを無効にします。
[[UIApplication sharedApplication] setIdleTimerDisabled: はい];
スリープ タイマーが切れると、次のようになります。
[[UIApplication sharedApplication] setIdleTimerDisabled: NO];
ユーザー設定の自動ロック値が上がると、画面が暗くなり、アプリがスリープ状態になります。
正常に動作していましたが、何らかの理由で動作しなくなりました。私はトラブルシューティングを行っており、setIdleTimerDisabled を含むコマンドをコメントアウトしましたが、スリープ状態にはなりません。
([UIApplication sharedApplication].isIdleTimerDisabled) で idleTimer の状態をテストすると、IdleTimer が実際には無効になっていないことがわかります。
デバイスのスリープを妨げている可能性があるものは他にあるでしょうか? アプリが操作なしで終了したとき。便利な場合に備えて、私のデバイスは 9.3.3 を実行しています。