iOSのオートメーションでWi-Fi無限ループの対策
公開日:
カテゴリ: iOS
iOSのオートメーションでWi-Fiの接続・切断をトリガーにした際、バッテリー残量が10%以下になるとWi-Fi接続・切断を無限に繰り返してしまうので、その対策をまとめました。
バッテリー残量の多いときであれば多少は目を瞑れますが、10%以下で発生してしまうと、残り少ない電池にトドメを刺すことになるので、何かしらの対策をしたいところです。
原因
iOSとオートメーションの仕様がうまく噛み合わないために発生するようです。
- バッテリー残量が10%以下でWi-Fiとモバイルデータ通信の両方接続している場合、Wi-Fiを切断する
- 切断したWi-Fiは、次に画面を点灯させた際に再接続する(画面ロックの解除有無は関係しない)
- この挙動は、設定アプリなどで変更できない
- オートメーションを確認なしで自動実行すると、終了後に自動で通知が行われる
- ショートカットの通知とは異なり、オートメーションの通知は個別設定での選択肢なし
つまり、
- スリープ中でバッテリー残量10%以下かつ充電中でない場合、Wi-Fiが自動切断
- Wi-Fi切断をトリガーにしたオートメーションが実行
- 2.のオートメーションの自動実行により通知が発生
- 3.の通知によって画面が点灯しWi-Fiが自動再接続
- Wi-Fi接続をトリガーにしたオートメーションが実行
- 自動でスリープ、以降繰り返し
のループにハマって抜けられなくなってしまっています。
オートメーションのトリガー設定で「接続が中断したあとに実行」のチェックを外すことで、ループ間隔を3分まで広げることはできますが、それでも単純計算で1時間当たり20回実行されます。
対策
いくつかありますが、どれも一長一短です。
手順はiOS18の例です。バージョンによって項目の場所が異なることがありますので、適宜読み替えてください。
方法1: オートメーションを駆使して、モバイルデータ通信を切る
アプローチは2つあり、
- Wi-Fi接続時にモバイルデータ通信を切り、Wi-Fi切断時に再接続する
- バッテリー残量が10%より下の場合はモバイルデータ通信を切り、10%より上の場合は再接続する
のいずれかで対策できます。大抵の場合は前者の方が使い勝手が良さそうですが、楽天Linkを使用している方は相性が悪いかもしれません。後者の場合は、Wi-Fi未接続の環境でバッテリー残量が10%より下になると、インターネットが切れます。
方法1-a: オートメーションを二重登録する
オートメーションでは「Wi-Fi接続時かつバッテリー10%より下」のような、複合条件をトリガーに設定することはできません。そのため、代わりにトリガーではなく実行側の条件分岐で、もう一方の判定を行うことで、パターンを網羅する方式です。
方法1よりも柔軟な指定が可能ですが、設定するオートメーションを2倍の数の設定が必要になります(ちょっと設定を変えるのが面倒になります)。
また、トリガーの方に当てはまった時点でオートメーション自体は実行されるので、条件分岐でモバイルデータ通信のオン/オフ切り替えを行わなかったとしても、実行通知は表示されます。
- トリガー:Wi-Fi接続時
- バッテリー残量が10%より下の場合に、モバイルデータ通信をオフ
- トリガー:Wi-Fi切断時
- モバイルデータ通信をオン
- トリガー:バッテリー残量が10%より下
- Wi-Fi接続している場合に、モバイルデータ通信をオフ
- トリガー:バッテリー残量が10%より上
- モバイルデータ通信をオン
方法2: ショートカットアプリの通知を切る
通常、ショートカットアプリは設定アプリで通知の設定はできませんが、スクリーンタイムのアプリ通知のレポートからは開くことができます。その画面では、他のアプリと同様の通知設定を行えます。
ただし、この方法は他のショートカットやオートメーションの通知もすべて表示されなくなります。
手順
- スクリーンタイムを有効にする
- なんでもいいので、ショートカットアプリで一度通知を発生させる
- 直近でショートカットアプリの通知が発生していれば不要です
- 新規ショートカットで通知をセットし右下の三角を押すだけでもOKです
設定アプリ
→スクリーンタイム
→ 上の方のグラフの下にあるすべてのアプリとWebサイトのアクティビティ
→ 一番下の通知の項目にあるショートカット
- 適宜、通知の設定する
方法3: 自動スリープを無効にする
そもそもスリープにならない限りWi-Fiは自動で切断されないため、自動スリープを無効にしても問題のない運用をしているのであれば、そちらのほうが手っ取り早いです。
手順
設定アプリ
→画面表示と明るさ
→自動ロック
なし
を選択する
カテゴリ: iOS