浜松のWEBシステム開発・スマートフォンアプリ開発・RTK-GNSS関連の開発はお任せください
株式会社シーポイントラボ
TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:静岡県浜松市中区富塚町1933-1 佐鳴湖パークタウンサウス2F

【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にならない)ようにする方法についてでした。
ご参考になれば幸いです。

  • この記事いいね! (1)