ナビゲーションを使用している場合にのみ画面ロックを防ぐにはどうすればよいですか。 Wazeにはそれを行うオプションがありますが、アプリでこれを行うにはどうすればよいですか?
これを使って:
Objective-C:
[[UIApplication sharedApplication] setIdleTimerDisabled: YES];
Swift(レガシー):
UIApplication.sharedApplication().idleTimerDisabled = true
Swift 3/4:
UIApplication.shared.isIdleTimerDisabled = true
必ずUIKit
をインポートしてください。
ここ はApple.developer.comからのドキュメントへのリンクです。
Swift 3.0の場合、コードを呼び出す場所に応じて2つのオプションがあります。
AppDelegate.Swift内:
application.idleTimerDisabled = true
AppDelegate.Swiftの外部:
UIApplication.shared().isIdleTimerDisabled = true
スイフト4
appDelegate.Swiftファイルで、application function内に次の行を追加します。
application.isIdleTimerDisabled = true
私の小さなlib Insomnia (Swift 3、iOS 9以降)を使用できます-もう1つの素晴らしい機能は、充電中にのみスリープを防止できることです。
idleTimerDisabled
のsoultionは大丈夫ですが、後でfalse
に設定することを忘れないでください。
より高度なケースがある場合は、小さなプロジェクトを使用できます: ScreenSleepManager または特定の場合ViewControllers-use- 不眠症 先に指摘したとおり。手動でidleTimerDisabled
を扱うと、ほとんどの場合、いくつかの問題が発生します(falseにリセットするのを忘れたり、設定しようとする複数の(ネストされた)モジュールを処理したりするなど)。