説明書を読まなくても使い方がわかるのが、iPhoneの魅力であり強みです。しかし、知っているつもりでも正しく理解していないことがあるはず。このコーナーでは、そんな「いまさら聞けないiPhoneのなぜ」をわかりやすく解説します。今回は、『特定範囲を出た/入ったの判定はバッテリー消費が激しい?』という質問に答えます。
***
特定の範囲から出た、その逆に入ったという判定は、「ジオフェンス」と呼ばれるiOSに標準装備の機能です。指定領域は緯度/経度を基準とした中心点と半径により指定される円形で、それほど精度が重視されない処理に利用されます。
iOSに標準装備のアプリ『友達を探す』は、ジオフェンス機能を活用するアプリの代表格といえるでしょう。自分の周囲に友人がいるとき知らせてくれる機能は、待ち合わせをするときに便利です。ジオフェンスの機能を提供する開発フレームワーク「CoreLoation」はサードパーティーにも公開されているため、App Storeにも類似の機能を持つアプリは多数存在します。『Facebook』アプリに最近追加された「近くにいる友達」機能も、ジオフェンスを利用していると考えられます。
ジオフェンスのもうひとつの利点は、通常の位置情報取得機能より消費電力量が少ないことです。実際の行動と比べて出た/入ったという情報が通知されるタイミングは遅れがちなうえ、距離の判定も含め全体的に"ざっくり"とした傾向がありますが、GPSの確認頻度を減らすことでバッテリーの消費を抑えることができます。
ただし、利用にあたってはいくつかの注意事項があります。ひとつは、アプリに対し位置情報取得を許可しておくこと。位置情報サービスそのものを無効化していても、ジオフェンスは動作しません。なお、指定領域から出た/入ったという情報は、「常に許可」というオプションを選択していればアプリが起動されていない状態でも通知されます(その場合アプリは再起動される)。1つのアプリにつき監視可能な領域は20までという制限もありますが、こちらはそれほど気にする必要はないでしょう。