こんにちは。
通常と暗転している時だけタイマーを動かしたいのですが
以下のようなコーディングをすると、ホームボタンを押したり、他のアプリと切り替えている状態でも動いています。
Swift
1 func applicationWillResignActive(_ application: UIApplication) { 2 self.backgroundTaskID = application.beginBackgroundTask(){ 3 [weak self] in 4 application.endBackgroundTask((self?.backgroundTaskID)!) 5 self?.backgroundTaskID = UIBackgroundTaskInvalid 6 } 7 }
通常と暗転している時だけタイマーを動かすにはどうしたらいいでしょうか?
困っています。アドバイスお願いします。
「通常」というのは普通にアプリを使っているときのことでしょうか?「暗転している時」はバックグランドのことでしょうか?
はい、アプリが画面上に表示されている状態です。初心者なので暗転している状態がどういう状態なのかわかりません。画面を表示させると本アプリが表示されたままになっている状態です。ホームボタンを押してないので、フォアグラウンドのような気もしますが、動作は止まってしまうのでバックグラウンドに移行しているのでしょうかね。
あー、暗転というのはスリープ中のことですかね。それなら状態としてはバックグラウンドです。ところで、「通常と暗転している時だけ」の逆はどういう状態を想定しているでしょうか?言い方を変えると、タイマーを止めたいのはどういうときでしょうか?
ホームボタン押したときです。
上に書いた通り、ホームボタンを押した場合と、暗転(スリープ)した場合は、どちらも同じバックグラウンド状態なので、区別できないと思います。
そうなんですかー
いろいろありがとうございますー
あなたの回答
tips
プレビュー