1. ホーム
  2. ios

[解決済み] iOSでプログラム的にスリープモードを無効化/有効化する方法は?

2022-04-24 13:17:21

質問

カウントダウンが終わるまで起きていなければならないアプリがあるのですが、スリープに割り当てられた時間になると「スリープモード」になってしまうのです。

私のアプリでは、スリープを延期するオプションがあり、ユーザーはそれを無効/有効にすることができます。

プログラム的に行うにはどうすればよいですか?

どのように解決するのですか?

以下の手順で、アイドルタイマーを無効にすることができます。

Objective-Cの場合。

[UIApplication sharedApplication].idleTimerDisabled = YES;

Swiftでは

UIApplication.sharedApplication().idleTimerDisabled = true

Swift 3.0 & Swift 4.0では。

UIApplication.shared.isIdleTimerDisabled = true

に設定し直します。 NO または false をクリックすると、スリープモードが再有効になります。

例えば、ビューを離れるまで必要な場合は、viewWillDisappearをオーバーライドすることで元に戻すことができます。

override func viewWillDisappear(_ animated: Bool) {
    UIApplication.shared.isIdleTimerDisabled = false
}

詳細はこちら UIApplicationクラス .