【Swift】アプリ実行時に端末をスリープさせない

タイトル通り、iOS アプリを起動中、端末の画面が OFF にならないようにする方法についてです。
たまにしか使わないせいで毎回調べているので、いい加減備忘録としてまとめます。

今回参考にさせていただいた記事はこちらから。

アプリが起動している間、画面を表示し続ける(端末をスリープさせない) – Qiita
https://qiita.com/imj164/items/f35187a8fe84d9a0cd35

 

実装方法は下記のとおりです。

override func viewWillAppear(_ animated: Bool) {
  super.viewWillAppear(animated)
  UIApplication.shared.isIdleTimerDisabled = true
}

画面をスリープさせたくない ViewControllerviewWillAppear 関数内に、UIApplication.shared.isIdleTimerDisabled = true という記述を追加するだけです。
ちなみに、アプリ起動時に実行したい場合は、AppDelegate 内に記述しても大丈夫みたいでした。

スリープ禁止を解除するときには UIApplication.shared.isIdleTimerDisabled = false を実行してください。

ただし、こちらの処理は当然ながらバッテリー消費が大きくなるので、必要がなくなったらすぐに解除するほうが良さそうです。
このページでだけ有効に!という場合は、必ず viewWillDisappear 関数等で解除するようにしてください。

 

以上、Swift で iOS アプリ実行中に端末がスリープさせない(画面がOFFにならない)ようにする方法についてでした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG