アプリケーションの実行中にiPhone画面が暗くなったりオフになったりしないようにするにはどうすればよいですか?


114

ユーザー入力を必要としないアプリを開発していますが、iPhoneを省電力モードにしたくありません。

アプリから省電力を無効にすることはできますか?


7
最近のすべての質問に対する反対票とは何ですか?これは私にとって有効な質問のようです。
Eric Sc​​hoonover、

回答:


172

Objective-C

[[UIApplication sharedApplication] setIdleTimerDisabled:YES];

迅速

UIApplication.shared.isIdleTimerDisabled = true

2
このコード行がどこで使用されているかは重要ですか?AppDelegateとアプリのメインビューコントローラーのどちらに配置する必要がありますか?

16
それは、それをどのように使用するかによって異なります。アプリケーションでタイムアウトさせたくないビューが1つしかない場合があります。この場合、そのビューコントローラーで使用します(ビューが表示されたとき)。タイマーを再度有効にする[[UIApplication sharedApplication] setIdleTimerDisabled:NO];には、ビューが消えたときに使用します。
Liam George Betsworth 2012

2
アプリがフォーカスを失った場合、アプリはタイマーを再度有効にする必要がありますか、それともOSによって自動的に処理されますか?
スタンジェームズ

5
スタン-アプリがアクティブを辞任すると、OSはアイドルモードを再度有効にします。呼び出す必要はありません[[UIApplication sharedApplication] setIdleTimerDisabled:NO];
Chris Stringer

私見それはあなたがこれをどこで呼ぶかと何の違いもありません。それは常にアプリ全体のヒットであり、各ビューは淡色表示ではなく画面上に保持されます。
数十

20

迅速なあなたは、このように使用することができます

UIApplication.sharedApplication().idleTimerDisabled = true


2

このコード行をビューコントローラーに配置しましたが、誰かが画面に触れるまで画面が暗くなるかオフになるとお客様に言わせています。プログラムで設定しただけでなく、他の投稿も見ました

UIApplication.sharedApplication().idleTimerDisabled = true 

trueに設定しますが、最初にfalseにリセットする必要があります

UIApplication.sharedApplication().idleTimerDisabled = false
UIApplication.sharedApplication().idleTimerDisabled = true

悲しいことに、これはまだ機能せず、顧客はまだ淡色表示になります。Apple Configuratorプロファイルにより、デバイスがスリープ状態になるのを防ぎますが、一部のデバイスの画面が暗くなり、お客様はホームボタンを押して画面を復帰させる必要があります。このコードを、アイドルタイマーをリセットするために2.5時間ごとに起動するタイマーに挿入しました。うまくいけば、うまくいきます。


1
悲しいことに、タイマーで作動する関数にコードを入れても問題は解決しませんでした。私は24時間以上iPadの電源を入れたままにしましたが、薄暗くならず、やり取りもありませんでした。あるクライアントによると、ユーザーが15分前にデバイスを使用した後、デバイスが暗くなりました。
JMStudios.jrichardson 2016年

私は同じ問題を抱えています:私はidelTimerDisabled = true(アプリは夜通し開いたままになっているはずですが、目覚まし時計)を設定しているビューコントローラーを持っています夜のいつか。誰がアプリをバックグラウンドに移動できるのか考えていますか?またはフラグをリセットしますか?
Yariv Adam

はい、フラグをリセットすることができ、私もそれを行っていました。機能にもこれがありました。それは、画面を暗くするためにデバイスにpingを送信するMDMサーバーの「ルージュプロセス」であることがわかりました。とてもうるさい。
JMStudios.jrichardson

0

私たちは同じ問題を抱えていました。私たちのアカウントで削除されたMDMサーバー上の不正なプロセスであることが判明しましたが、サーバー上ではまだデバイスを暗くするコマンドを送信していました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.