位置情報をトラッキングする必要のあるアプリを考えていて、CLLocationManagerについて調査しています。
Appleのドキュメントにも書かれている様に通常のstartUpdatingLocationによる維持情報の取得はバッテリーの消費がかなり激しいようで、長時間の使用には向いていません。
またアプリがバックグラウンドに入り、メモリー使用量などの関係で強制終了させられた場合にはユーザが常に意識していなければならない問題があります。
その点、Significant-Change Location Serviceを利用すると、バッテリーの消費が抑えられる事と、アプリがいつの間にか終了させられていても位置情報の更新があるとiOSが自動的にアプリを起動してくれるという利点があります。
ただ、位置情報を更新してくれるタイミングや精度には当然劣化があります。
またテストの段階で、位置情報の更新があった場合に、確実にアプリを再起動してくれるのか?そのテストをどうするか悩ましい所です。
一番面倒なのは、机上でテストが出来ない事。
実際に実機を持って外を歩き回らないと検証が出来ず、またその際にMacを一緒に持ち歩くわけにも行かず、xcodeでモニターしながらというわけに行かないのため通常のアプリに比べて開発効率が落ちてしまいます。
Leave a Reply