【SwiftUI】自動ロックを防ぐ方法

こんにちはコーヤです。

このページでは、SwiftUIで自動ロックを防ぐ方法をご紹介します。iPhoneを放置してもロックがかからなくなります。

以下のバージョンで動作確認しています。

  • Xcode 14.2
  • Swift 5.7.2

自動ロックのON/OFFを切り替えるソースコード

UIApplication.shared.isIdleTimerDisabledを切り替えます。

import SwiftUI

struct ContentView: View {
    var body: some View {
        VStack {
            Button("Timer Off") {
                UIApplication.shared.isIdleTimerDisabled = true
            }
            Button("Timer On") {
                UIApplication.shared.isIdleTimerDisabled = false
            }
        }
        .buttonStyle(.borderedProminent)
        .font(.largeTitle)
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

trueにすると自動ロック用のタイマーが停止し、自動ロックされなくなります。

falseにすると自動ロック用のタイマーが動作し、自動ロックされるようになります。

以上です。ご参考になれば幸いです。

コメント欄